Removed an extra newline.
Added support for changing the assets file with a command line argument.
The Environment's initialized pathnames are now made absolute in __init__.
Cleaned up the Content Provider interface.

It's now slightly simpler to use. There is no more input -> source
abstraction model, and the base doesn't touch or store the inputs at
all.

In addition, the copy operations in the Environment class are now in
their own separate class called Operations. An instance is required by
the BaseContentProvider constructor, but it's optional. The default
being a created instance of that class.
More rigorous skipping of files in Operations functions.

This does have some problems like writing to uninstalled dependencies
won't trigger a new install. But that is another issue that needs to be
solved.
The Operations class is now split into Operations and Output.

The output class manages the messages that are displayed when certain
events happen (file transform, file skip, etc).
Cleaned up the error messages returned when the WrongInputType was being thrown.
The Output class now uses the python logging library.
A better plugin system is needed.
All stdoutput is being delegated to one Output object now.
All "INFO" messages are no longer shown.
Added quotes around the filename when the assets.json-like file fails to open.
Cleaned up the no-plugin-available error message.
Added two verbosity levels. One enabled "Skipping..." log messages, which now are debug messages.
Added a function to find an asset object based on directory and some tests.
Added the list_compiled_files function to the BaseContentProvider.
Added a default verbosity.

Now there won't be errors when the flag isn't specified at all!
Added exception types and refactered the BaseAsset interface.

The BaseAsset interface is also replacing the BaseContentProvider class
hierarchy.