Fix bad prototype for headnode_{create,delete}

In the API documentation, these functions take a headnode name and a /group/
name---but in api.py, they took a headnode name and a /project/ name.  This
doesn't make sense, because we also have the API call
'project_connect_headnode'.  This commit fixes both the function and its
corresponding unit test.
Add REST API function for headnode_{create,delete}
Add CLI functions for headnode_{create,delete}
Merge branch 'api-group-ownership-consistency' into api-headnode-put-delete

Conflicts:
	haas/api.py
Add tests for failure cases of headnode_{put,delete}
Add more failure-mode tests for project-detach/attach-node
Add REST wrappers for project_{connect,detach}_node
Add CLI wrappers for project_{connect,detach}_node
group_create/delete sprint implementations
Slightly explicate names of some tests
added project create / delete to cli.py and server.py
Added a shell command to initialize the database.

You need to do this before running `haas serve`, so let's have a command
to do it for us.
Merge branch 'devel' into api-headnode-put-delete

Conflicts:
	haas/cli.py
	haas/server.py
	tests/unit/api.py
Merge branch 'devel' into api-project-connect-delete-node

Conflicts:
	haas/cli.py
merged into devel
Merge pull request #135 from jlbernard/api_sprint

API group put/delete
Merge pull request #133 from gsilvis/api-project-connect-delete-node

Api project connect delete node
fixed bad url and cli password
fixed delete
changed groupname to group in form data in cli.py