cli.py: Adds byte array support

When checking the selection of which servers to sync/add there is
a check to see if 'ALL' is specified. In py2 with argparser this
works, but with py3 and argparser, this doesn't work because the
'ALL' string will come in as a bytearray. This commit fixes that
by checking the python version and assigning a varaible to be checked
instead of a simple string like 'ALL'. It will now come in as either
'ALL' or b'ALL', py version dependent. A small fix is also made to
docstring to make the print function py3 compatibile.
remotedb.py, tar.py: Implements ssl-fetch code

Migrate to using ssl-fetch (urllib3 based) for downloading files.
dbbase.py: Fixes implicit tuple unpacking

A temporary variable is assigned to fix the lack of implicit tuple
unpacking in py3.
argsparser.py: Migrates from optparse to argparse

Included with this patch is another flag, -C for config dir as well
as default values for configdir, config, and overlay_defs. Also
included is interpolation of these variables, because argparse lacks
the necessary interpolation.
argsparser.py: Alphabetizes group arguments
output.py: Migrates output mappings

remotedb.py, tar.py: Removes output mappings necessary for ssl-fetch
usage in favor of mapping them in output.py to avoid mapping the
functions in more than one place.
layman/*.py: Removes unnecessary lists

To give a minimal increase in performance some lists declarations
have been removed.
reposconf.py: Creates initial ConfigHandler class

A class which add support for repos.conf portage configurations
is being added.
reposconf.py: adds read() function

To read the ConfigParser file in /etc/repos.conf/layman.conf
the read(), and _read_file() functions have been added.
reposconf.py: adds write() function
reposconf.py: adds add() function
reposconf.py: adds delete() function
reposconf.py: adds update() function
makeconf.py: changes name to ConfigHandler, adds update() stub

For compatibility with RepoConfManager, the MakeConf class has been
renamed to ConfigHandler as well as adding an update() function as
a stub for when RepoConfManager calls it.
config.py: Adds auto_sync, conf_type, and require_repoconfig

Three new options have been added to give users repo config
configurability.
repoconfmanager.py: Creates initial RepoConfManager class

This class will provide a wrapper for all config types and will
also allow for custom config plugins as well.
repoconfmanager.py: adds conf_type checks

Checks are made to assure conf_types exists and is in the correct
format that RepoConfManager expects it to be.
repoconfmanager.py: adds add() function

By checking the conf_types and associating them with a dict has each
key as the conf_type and the value is a tuple of the corresponding
class and string of the module name.
repoconfmanager.py: adds delete() function
repoconfmanager.py: adds update() function