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.
added last two api calls
Merge branch 'devel' of https://github.com/CCI-MOC/haas into devel