Establish new driver API

The API is documented in haas/drivers/__init__.py .  There are two drivers
now: the dell driver and the null driver (which, as its name suggests, does
nothing.)

All unit tests are explicitly run against the null driver.  So, any
functionality, such as vlan allocation, that is specific to a drier, such as
the Dell driver, must get its own test suite.

There is one regression here: the Dell driver now has hard-coded which VLANs
it can use.  We should add a configuration option for that.

There is one HUGE piece of trickiness in the code: the init_db function calls
the driver's init_db---but table creation is done by the fact that we import
the module BEFORE doing table creation.  This is tricky, and confusing, and
terrible, and we should fix it.
Remove driver-specific 'vlan_{register,delete} API call
Fix tests so that they pass
s/flan/vlan in haas/driver/dell.py
Document purpose of 'apply_networking'
Fully remove vlan_{register,delete} API call
Add test for init_db in dell.py
Add config option to dell switch to list available vlans

Syntax example:  10, 100-109, 4000-4001,2000, 9000-10005
Fix and test Dell vlan allocation/freeing
Fix bug where tests fought eachother

Specifically, they would all modify the same global state (the config object).
Now each test clears the config, sets it to what it needs, and clears it
again.  There are decorators to do this.
Deduplicate config-clearing decorator code
Use functools.wraps in decorators
Rename and document testing decorators
Merge branch 'devel' into driver-separate

Conflicts:
	tests/unit/model.py
Merge pull request #164 from gsilvis/driver-separate

Establish driver API