Add API schema for v2.1/v3 flavors_extraspecs API

By defining the API schema, it is possible to separate the validation
code from the API method. The API method can be more simple.
In addition, a response of API validation error can be consistent for
the whole Nova API.

Partially implements blueprint v3-api-schema

Change-Id: I71f89b59dd4e542d2befa971182cc587b6fec269
Change compute updates from periodic to on demand

Currently, all compute nodes update status info in the DB on a periodic
basis (the period is currently 60 seconds). Given that the status of
the node only changes at specific points (mainly image
creation/destruction) this leads to significant DB overhead on a large
system. This BP changes the update mechanism to only update the DB when
a node state changes by keeping an old copy of the state info and
only updating the DB if the new state info is different.

Docimpact - check to see if there's a documentation impact to this change.

Change-Id: I19c174488b61977358a4d617cc4b590e317e665a
Implements: blueprint on-demand-compute-update
Merge "Add API schema for v2.1/v3 flavors_extraspecs API"
Merge "Change compute updates from periodic to on demand"