Reworked logging a bit.

There is now a ProjectLogger class. This class stores a Logger and a
Project. Logging an error, warning, or info to a ProjectLogger results
in a call to the Logger as well as a call to the appropriate Log class,
which is added to the Project.