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.
Correctly search for {h,}nics belonging to {head,}nodes
Check that arguments belong to same project

This is only relevant to the few calls that take two resources, such as
'node_attach_network'
s/deployed/dirty/ in project model
Implement dirty logic

All tests pass, but that is only because our test-suite doesn't exercise
anything that this change would affect.  That should be fixed.
Fix typo in dell unit tests

Two tests had the same name, making it so the first one was never run.
Started working towards querying libvirt for the "frozen" state.

The frozen bit is still there, but wrapped in something that can be
swapped out.