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.
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' into multiple-headnode-per-project

Conflicts:
	haas/model.py