Parse Arguments

	Used to parse the arguments passed to the script

	Args:
		args (list): A list of strings representing arguments to a script

	Returns:
		dict: Returns a dictionary with args as keys and the values sent with
			them or True for valueless arguments

	Raises:
		ValueError: If args is not a list or tuple

def parseArgs(args):
	"""Parse Arguments

	Used to parse the arguments passed to the script

	Args:
		args (list): A list of strings representing arguments to a script

	Returns:
		dict: Returns a dictionary with args as keys and the values sent with
			them or True for valueless arguments

	Raises:
		ValueError: If args is not a list or tuple
	"""

	# If args is not a list
	if not isinstance(args, (list,tuple)):
		raise ValueError('args is not a list or tuple')

	# Init the return value
	dRet	= {}

	# Go through each argument
	for s in args:

		# Check the string matches the format
		oRes	= re.match(u'^--([^=]+)(?:=(.+))?$', s)

		# If we have a match
		if oRes:

			# Store it by name and value
			mGroup2	= oRes.group(2)
			dRet[oRes.group(1)]	= (not mGroup2 and True or mGroup2)

		# Else add it to the unknowns
		else:
			try:				dRet['?'].append(s)
			except KeyError:	dRet['?'] = [s]

	# Return the dict
	return dRet