Create a custom Logger object
Use a custom TestLogger for tests
Add BuildVersion.semver and BuildVersion.git_describe
Update Logger mixin to add a log_key method
WARNING: Remove Fetcher.name from classes

From what I can tell, this is never actually used. There is no test
coverage for the method and it does not appear to be used in any of the
classes.

If something breaks with fetchers, it is very likely that this commit
did it. However, in the future, it would be nice if we had test coverage
or at least comments with reasons in the code about why a particular
method exists.
Require JSON in project.rb
Remove WTF Software#command method and add a deprecation warning + @todo
Update files to use new logging API
Use a real UI class