Cleaned up default config directory determination.
Made bootstrap creators for HA always set config directory.
Made bootstrap creators set the local library in the Python Path.
Moved all exceptions to their own file to make imports easier.
Moved default configuration directory be in the users’ profile.
Moved pip installs to be done to a lib folder in the config directory.
Reduced requirements.txt to only the barebones reqs.
Calling load_yaml_config_file(config_path) causes issues when trying to
load from multiple files in a directory since config_path is modified in
the closure.
This also separates the parse code block into its own function so that
there is no restriction that the object be a dictionary for included
files. This means that scalars, lists, etc. can also be stored in
separate files -- for example, the scene component expects a list.
Allows including other files in the main configuration.yaml file. With
this functionality, passwords or other sensitive information can be
stored in a separate file from the main configuration.