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
Add some more status codes.
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
Make network operation succeed more often

Now detaching a network succeeds even if it's already detached, and attaching
it succeeds even if it was already attached (whether attached in the same way
or a different way.)

Furthermore, the docstrings are now correct.
Make headnode network operations succeed more often too

Docstrings now correct.
Merge pull request #270 from gsilvis/multiple-headnode-per-project

Multiple headnode per project
Merge pull request #271 from gsilvis/networking-success

Networking success
Merge remote-tracking branch 'moc/devel' into kill-flask

Conflicts:
	haas/api.py