Fix scheduler_hints parameter of v3 API

"create a server" API contains a scheduler_hints parameter which is
a hint where a server should boot.
According to scheduler-hints-post-req.json API sample, the parameter
name is "os-scheduler-hints:scheduler_hints":
  {
    "server" : {
      "name" : "new-server-test",
      "image_ref" : "..",
      "flavor_ref" : "..",
      "os-scheduler-hints:scheduler_hints": {
        "hypervisor": "xen",
        "near": "48e6a9f6-30af-47e0-bc04-acaed113bb4e"
      }
    }
  }

However create() of SchedulerHintsController tries to get its value
from invalid position where is the same level as "server":
  {
    "server" : {
      [..]
    },
    "os-scheduler-hints:scheduler_hints": {
      "hypervisor": "xen",
      "near": "48e6a9f6-30af-47e0-bc04-acaed113bb4e"
    }
  }

As the result, Nova cannot get the value from the right parameter.
To fix the problem, this patch merges both the parameter parser and
the validation code to server_create() like the other API extensions.
SchedulerHintsController becomes unnecessary, then this patch removes
the class.

Partially implements bp v3-api-inconsistencies

Change-Id: I4e0bcbde8e2d2171d0b2e18b72d2c2b3d88d7239
Fixed naming issue of variable in a debug statement formatting

Closes-bug: 1275802

Change-Id: I5bf57290ff3023f6d3332a92114cc4f235e1f4af
Hyper-V: Change variable in debug log message

The variable used in the log message is incorrect. The log message
outputs the file size instead of the internal VHD size.

Closes-bug #1275805

Change-Id: I270709098e058cf51bbe6494b903a461b3938d15
Don't try to restore VM's in state ERROR.

We don't try to restore VM's that are in a failed BUILDING state, so
attempting to start ERROR VMs is more than a little weird. The one
exception to this rule are VMs that are in RESIZE_MIGRATING, since
recovery is already attempted. It's also a problem, because many ERROR
states aren't recoverable from (at the moment anyhow).

Closes-Bug: #1272623
Change-Id: I0599b83a82ad3ee67a92126d3b57df5b02e20539
Co-Authored-By: Robert Collins <rbtcollins@hp.com>
The object_compat decorator should come first.

Related to blueprint icehouse-objects.
Related to blueprint compute-manager-objects.

Change-Id: Ia5cc55aca5517359523ae71f4110b5f02a830b4d
Convert set_admin_password to objects

Related to blueprint icehouse-objects.
Related to blueprint compute-manager-objects.

Change-Id: Ibb8087579f290843dad4aa210e9e8fb2210c5058
Convert rescue_instance to objects

Related to blueprint icehouse-objects.
Related to blueprint compute-manager-objects.

Change-Id: I6448cb929e9afce814d0580eada91b8fd37befa3
Merge "Hyper-V: Change variable in debug log message"
Merge "Fixed naming issue of variable in a debug statement formatting"
Merge "Don't try to restore VM's in state ERROR."
Merge "Fix scheduler_hints parameter of v3 API"
Merge "The object_compat decorator should come first."
Merge "Convert set_admin_password to objects"
Merge "Convert rescue_instance to objects"
Merge commit 'refs/changes/53/60253/9' of git://gold.eng.hq.xensource.com/git/github/openstack/nova into tmpbranch
Merge commit 'refs/changes/08/60808/6' of git://gold.eng.hq.xensource.com/git/github/openstack/nova into tmpbranch
Merge commit 'refs/changes/97/66597/4' of git://gold.eng.hq.xensource.com/git/github/openstack/nova into tmpbranch
Merge commit 'refs/changes/79/69879/3' of git://gold.eng.hq.xensource.com/git/github/openstack/nova into tmpbranch