Port server actions unittests to V3 API Part 2

Ports the server actions unittests to test the V3 API.
This mostly involved CamelCase to camel_case changes
and adpating the URLs to point to the V3 API instead of
the V2 API.

It also includes
- Fixing a bug in the admin_password extension picked up by
  the tests where bad request data is not always handled properly
- Generate image ref urls that point to glance api rather than
  the nova api. This fits in with the decision to not port the images
  extension to the V3 API which is implemented here:
  https://review.openstack.org/#/c/40565/
- Moves admin password related tests to the admin password unittests
  test file as this functionality has been moved out from core.

Partially implements blueprint v3-api-unittests

Change-Id: I58b4c0103c824898183fca890c74c3c1cbe19633
Remove xenapi rpm building code

Nova shouldn't be building any types of packages. And if we are we should
be testing this code in gate somewhere.

Change-Id: I70d82a6173b5eda183d4e49d330ae97dd14f9078
Remove duplicates from exceptions list

Duplicated exceptions:
 exception.QuotaError
 exception.SecurityGroupLimitExceeded

Change-Id: Ie8d40cf6e0a1a7b2191877059b757a752aeb4e29
Call baselineCPU for full feature list

Since the libvirt API getCapabilities doesn't return a full list of CPU features we need
to call the libvirt API baselineCPU with the new flag VIR_CONNECT_BASELINE_CPU_EXPAND_FEATURES
to get all features.

Since the flag is new this code checks for its existence before calling baselineCPU.

Also, due to some rather stringent input checking on libvirt's part, just calling
baselineCPU with the output from getCapabilities doesn't work, you have to extract
just the <cpu> stanza from the XML returned by getCapabilities.

Add unit test to make sure that the current verion of libvirt works (although
it will hide some features) and the new version of libvirt will correctly
return all features.

Fixes bug 1217630

Change-Id: I266bacb7e0c79d9c5b13ff163f01d14cad9ab57b
Nova db/api.py docstring cleanups...

We no longer use LazyPluggable for the db_backend, and
dbapi_use_tpool options. These now come from
nova.openstack.common.db.api.

Also, removed doc about enable_new_services which seemed a bit
lonely without the rest and probably isn't needed since the
config option help explains it well enough.

Change-Id: I14d00e013a1a0c0dfc80e0bba8ad82e97940d6ac
Merge "Nova db/api.py docstring cleanups..."
Merge "Remove xenapi rpm building code"
Merge "Remove duplicates from exceptions list"
Update my mailmap

Using new email address.

Change-Id: I95269ca0f937c7950a1ab6f159a2d6bab4c92c06
Merge "Port server actions unittests to V3 API Part 2"
Merge "Call baselineCPU for full feature list"
Updates the documentation for nova unit tests

unit_tests.rst is outdated and does not reflect the recent changes
in the run_tests.sh script. Fix required an update of the usage
output of run_tests.sh as well as changes to some references.
Nova now uses testrepository and flake8.

There were also changes to the examples shown in the section
"Running a subset of tests". All the updated examples were tested.

Removes white spaces at the of end 3 lines.

Change-Id: I3fa040d5682ad94d861cef2a64b19b4da947318b
Closes-Bug: #1219040
Merge "Update my mailmap"