Got rid of the `available` column in model.Headnode

This isn't actually used.
Added a `frozen` column to model.Headnode.

...and snuck in a few formatting changes.
Set the frozen bit when the VM is created.

In addition, we create the VM's nics inside it's own create method now,
rather than in project_deploy.

Before I go any further, I need to test this in a real environment -
I've touched code that isn't hit by the test suite because it needs a
real libvirt.

Still on the TODO list is making all of the relevant API calls check the
frozen bit.
Merge remote branch 'moc/devel' into immutable-headnodes
A few minor fixes to get hnic creation working again.

The headnode implementation is still highly vlan-dependant, and this
will assuredly break with any non-vlan driver.
Added `.ropeproject` to `.gitignore`.

I'm not going to bother with another feature branch for this. I'm using
[python-mode][1], which has some nice refactoring-related features,
which in turn tend to litter the working tree with directories by this
name.

[1]: https://github.com/klen/python-mode
Added headnode_{start,stop} api calls to the spec

Also stubbed out a few functions with docstrings.
Merge branch 'available' into immutable-headnodes
Merge branch 'immutable-headnodes' of github.com:zenhack/haas into immutable-headnodes
Removed haas.headnode.

The last bits of functionality have been moved to the Headnode class in
model. `delete` still needs updating.
Started tests for the headnode-freezing logic.

The one test I've written thus far is failing, since the relevant
functionality isn't actually implemented.

The `@no_dry_run` decorator around `Headnode.create` presents a problem
for this; we're setting the frozen bit inside of create, which means it
won't be set if we're just running the tests locally (with dry_run
enabled). Most likely the bit will have to be set in the api module
instead.
Added another test
Added implementations for headnode_{start,stop}.

These haven't been tested, except to the extent that it's possible to do
so with dry_run enabled.

There are a few related changes in this commit as well. In particular:

1. `model.Headnode.create` no longer sets frozen, that happens in
   `api.headnode_start` instead.
2. The `@database_only` decorator now enables dry_run.
Got one of the headnode-freeze related tests to pass.
added last two api calls
Merge branch 'devel' of https://github.com/CCI-MOC/haas into devel
Started working towards querying libvirt for the "frozen" state.

The frozen bit is still there, but wrapped in something that can be
swapped out.
added tests for last two query calls
removed second db query
Use same consistency model for headnodes as for projects.

This is based on a discussion I had with @okrieg the other day.

I still need to add more tests, and check the bits that the test
suite can't hit on a real setup. I also haven't added checks for
the dirty bit in all of the required places.