Refactor build settings to make projects more prominent.

At any point in time a build in gitbot is a response to a commit to
a single repository. While the build may need to pull down and
process multiple repositories, the configuration is driven by a single
project. This needs to be evident in the object structure.

- Remove `Release` class
- Support dynamic loading of `Project` classes inherently
- Remove Gitbot prefix to exceptions
- Add `BuildStatus` first class object/enumeration
- Add tests to verify and document the behavior or projects and
  build settings.
- Fix failing builds due to namespace issues
Add repo_name setting for projects
Add ability to load a project using the trigger data from gitbot.

A gitbot event sends across data that provides information on what
project to load and what action to run. Add a function that makes
educated assumptions on the data and intializes the project.

Special cases can always do the intializations themselves by calling the
more low level `load` method.
Add defaults for root directories
Fully qualify work root default path
Build*Exception must inherit from BuildException
Merge pull request #1 from gitbot/refactor/project

Refactor/project