Create a Scheduler client library

In order to split the scheduler code, a new library needs to be
created as a client for other Nova components.
Direct calls to conductor for updating stats in ResourceTracker
need to be decoupled into this library.

Change-Id: Ifcfeb90e09a75fc25ac5fd4f18cfd69ea0b21f50
Implements: blueprint scheduler-lib
Add support for select_destinations in Scheduler client

It was defined in the spec that the scheduler will provide a clear
interface for all scheduler API. Select_destinations() so needs
to be added in the client library.

Implements blueprint scheduler-lib

Change-Id: Ie5732baf9709cd0cb951eae4638910372c79e5f1
Convert v3 server diagnostics plugin to v2.1

This patch changes v3 server diagnostics plugin to v2.1 and makes v2
unit tests share between v2 and v2.1.

This patch also delete the V3 server_diagnostics API tests.

The differences between v2 and v3 are described on the wiki page
https://wiki.openstack.org/wiki/NovaAPIv2tov3.

Partially implements blueprint v2-on-v3-api

Change-Id: If10615f3f119dda815d56cf8329619bab502e091
Merge "Convert v3 server diagnostics plugin to v2.1"
Merge "Create a Scheduler client library"
Merge "Add support for select_destinations in Scheduler client"