Supports paginate query for two get nodes DB APIs

In DB APIs that return a list of nodes, limiting and sorting the
output is necessary for a large number of output nodes. This is
especially important for the GUI that uses the APIs where the view
is limited. This patch adds limit, marker, sort_key and sort_dir
to get_associated_nodes and get_unassociated_nodes DB APIs.

Change-Id: Ia2c616fff65a03bace1244fe646bdf0cf5f30a29
Remove several old TODO messages

Some of these TODOs no longer apply,
and some have already been done elsewhere.

Change-Id: I7641abc4896fd9793ecc56d50e1ac3f314946d19
Remove redundant test stubs from conductor/manager

Remove several unit test stubs that had been marked as TODO(deva)
and were implemented by others.

Also renames a few unit tests to be more clear about what they are
testing.

Change-Id: I4e10cfb0c9bb94f9089fc77a47a78b608e325230
Fix exceptions handling in controllers

1. DB api create_* methods not raises IronicException.
2. Non-Ironic exception from DB api create_* method
should cause server error.

Also unnecessary wsme.validate decorator removed from
chassis controller.

Change-Id: I71279f7db5c93804aeac077c034e09cb907b1fb9
Conductors maintan driver list in the DB

To facilitate exposing a list of drivers in the API,
and keep track of which ironic-conductor instance status,
this patch ...
* adds a new 'conductors' table in the DB
* adds a Conductor object class (with intentionally limited
  functionality)
* adds db/api methods for register/unregister/get/touch
* adds periodic task to conductor to maintain its updated_at field
* adds an additional db/api method to retrieve a list of drivers
  which are registered by active conductor instances

Change-Id: I1ebdb92d5c2d6ad1a6d1717dd13ff51be181ccc0
Merge "Supports paginate query for two get nodes DB APIs"
Merge "Conductors maintan driver list in the DB"
Merge "Remove several old TODO messages"
Merge "Remove redundant test stubs from conductor/manager"
Merge "Fix exceptions handling in controllers"