Adds layman-overlay-maker tool

This tool has been made to assist users in creating their own
layman overlay definitions.

constants.py: Adds overlay component constants.
Adds multiple description field support

maker.py: Adds stub function to grab descriptions in hopes
of later being able to add multiple description field support
to the interactive overlay creation session.

X-Gentoo-Bug: 465730
X-Gentoo-Bug-URL: https://bugs.gentoo.org/465730
overlay.py: Removes old branch tag components

In favor of setting the branch variable in each source tag, the old
branch tag components have been removed. Proper feeds support has
also been added for overlay dictionaries.

subpath-2.xml: Alters test to reflect new branch setting method.
maker.py: Adds autofill support for select mirrors

github.com, git.overlays.gentoo.org, and bitbucket.org
mirrors will have their extra source URLs, homepage, and
feeds filled out for them automatically.
maker.py: Adds Exception raising for errors
maker.py: Migrates prints to self.output messages

Also cleans up large messages to tidy up the code and make it more
legible.
utils.py: Adds get_input() and get_ans() functions

maker.py: Migrates to get_ans & get_input from utils.py
maker.py: Adds CLI arg interface

Adds argparse integration to allow users to select the CLI args
upon invocation of the layman-overlay-maker script.
layman_.py: Adds repo installation

If a repository is specified in the repos.conf config file and it
doesn't exist in the list of installable overlays an overlay.xml
definition will be created for that overlay and it will be
installed.
layman_.py: Adds remote list fetching
layman_.py: Updates overlay description requirements
CHANGES: Update for newest release changes
version.py: Updates version for to reflect new release
Fix a bug when an overlay isn't in the remote list

If the overlay isn't in the remote list, it obviously isn't a different
type, nor has its URL changed, so just init those to False so we can
sync the overlay without hitting UnboundLocalError.
external.py: Adds AddDeleteEnableDisableFromDB() test to test suite
global-overlay.xml: Removes unnecessary new lines
external.py: Adds FetchRemoteList() test to test suite

api.py: Removes fetch_remote_list() docstring test.
external.py: Adds CreateConfig() test to test suite

config.py: Removes doctests.
external.py: Adds CLIArgs() test to test suite

argsparser.py: Removes __init__() doctest
NOTE: This particular test will need to be changed on the release of
a new layman version to reflect the changes in the configuration
options.
external.py: Alphabetizes test functions