Give a bit more information from APIError to the client.

We're putting a json object in the body of the response when reporting
an error to the client. This is at least a step closer to what we want.

We now also have the ability to override the http status code.
Allow multiple headnodes per project
Improve error messages reported to the client.

This resolves #252.
Remove unneeded dependencies.

We're no longer using tabulate or Flask-HTTPAuth.
Specify package versions in requirements.txt

This resolves #100.
Add a large amount of documentation to haas.model.
Report coverage info by default when running tests.
Update testing docs to reflect the current state.

`docs/testing.md` was starting to succumb to bitrot.
Merge pull request #263 from zenhack/requirements-versions

Requirements versions
Merge pull request #262 from zenhack/better-error-messages

Improve error messages reported to the client.
Merge pull request #260 from zenhack/model-docs

Add a large amount of documentation to haas.model.
Merge pull request #261 from zenhack/testing-cleanup

Testing cleanup
Add some more status codes.
Fix syntax error in site-layout.json.example
Merge pull request #228 from zenhack/APIError-msgs

Give a bit more information from APIError to the client.
Merge pull request #265 from zenhack/site-layout.json

Fix syntax error in site-layout.json.example
Merge branch 'devel' of git://github.com/CCI-MOC/haas into devel

Conflicts:
	haas/model.py