Basic config file parsing

The configuration takes the form of a json object. There's still work to
be done here; this is just the minimum needed change to load the config
from a file, rather than hardcoding it in the source.
Added a test that checks throwing a NotAvailableError when adding a un-available node to a group

This is passing
Added a test that checks duplicate nic names

Test passed.
When add two nic of same name to a node, a DuplicateError is raised
Some more tweaking to the design of the config module.

options are now declared and validated in the modules to which they are
relevant. This is a step up, but the validation code is too verbose. I'm
not happy with this yet.
Merge branch 'devel' into config-file

Conflicts:
	haas_shell.py
Merge branch 'deploy-hotfix' into config-file
Switched over to using the ConfigParser module.

It's a bit more of a complete solution than just using the json module.
I'm punting on doing validation for now, but this should make it a bit
easier; the methods to get particular options already throw appropriate
exceptions.
Added some docstrings to haas.config
Moved the file_names kludge back into the source

This time directly into haas_init.
Ug, missed some changes from the last commit.
Merge remote-tracking branch 'origin/devel' into unit-tests
fixed issues pointed out by zenhack
blank line between summary and docstring
Merge pull request #24 from CCI-MOC/unit-tests

Added a test that checks throwing a NotAvailableError when adding a un-a...
Merge pull request #26 from CCI-MOC/config-file

Config file
Merge branch 'newapi' into devel
Merge branch 'devel' into newapi
haas.model no longer creates a database connection on import.

This fixes #10. There's further discussion to be had about what this
interface should look like, but it's not the horrible hack it was
before.

There's some example usage of this in the test suite.