Move common things to ironic.common.

Move from ironic/ to ironic/common/
 config.py
 context.py
 exception.py
 paths.py
 policy.py
 safe_utils.py
 states.py
 utils.py
Merge and trim utils and test_utils.

Merge baremetal/utils and nova utils
Merge baremetal/test_utils and nova/test_utils
Remove many unused methods from both files
Update test_pxe for merged utils.py
Fix IPMI tests.
Implement initial draft of a Pecan-based API.
Implement initial skeleton of a manager service.
Remove the old db implementation.
Implement skeleton for a new DB backend.
Update db models and API.
Update exception.py

- rename NovaException -> IronicException
- remove many unused exceptions
Implement GET /node/ifaces/<id> in API.
Remove ironic_manage.

It will be replaced by ironic-dbsync.
Add tests for ironic-dbsync.
Remove tests for old DB.
Add unit tests for DB API.

Also, fix some issues found along the way.
Update IPMI for new DB schema.
Move strong nova depenencies into temporary dir.

Sequester files which have a very strong dependency on the nova codebase
into a separate "nova" dir. These will be ported and/or re-implemented
in Ironic. Move the corresponding unit tests to "tests/nova".

Also, disable the unit tests by removing __init__.py from that dir.
Add a few fixes for the API.
Delete old base and fake classes.
Add new base and fake driver classes.
Update IPMI driver for new base class.

Fix IPMI unit tests, and add missing power states and exceptions.