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.
maker.py: Adds overlay sorting on write

Also adds the ability to gather all overlays from .xml file and
save them upon writing a new overlay. Updates xml version to 1.1.
maker.py: Adds overlay type checking
maker.py: Adds overlay package adding to xml
maker.py: Adds explicit file path declaration for write()

write() will now also return a boolean to indicate a successful
write to.
maker.py: Implements reload_config() function
maker.py: Adds autofill support for select mirrors

github.com, and git.overlays.gentoo.org mirrors will have
their extra source URLs, homepage, and feeds filled out
for them automatically.
Adds proper feed support for overlay dicts
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.

subpath-2.xml: Alters test to reflect new branch setting method.
Adds multiple description field support

X-Gentoo-Bug: 465730
X-Gentoo-Bug-URL: https://bugs.gentoo.org/465730
maker.py: Adds stub function to grab descriptions

This function has been added in hopes of later adding multiple
description field support to the interactive overlay creation
session.
maker.py: Notifies user of location of successful write
maker.py: Adds "https://" source splitting support
maker.py: Adds Exception raising for errors
maker.py: Modifies auto-filled source URL unpacking
maker.py: Organizes auto-complete function
maker.py: Adds additional info support bitbucket.org mirrors
utils.py: Adds get_input() and get_ans() functions
maker.py: Cleans up large messages
maker.py: Migrates prints to self.output messages