Drop `bm_pxe_ips` table from baremetal database.

- added migration and tests
- removed model `BareMetalPxeIp`
- from nova/virt/baremetal/db/sqlalchemy/api.py removed functions
 `bm_pxe_ip_get_all`, `bm_pxe_ip_create`, `bm_pxe_ip_create_direct`,
 `bm_pxe_ip_destroy`, `bm_pxe_ip_destroy_by_address`, 'bm_pxe_ip_get`,
 `bm_pxe_ip_get_by_bm_node_id`, `bm_pxe_ip_associate`, 'bm_pxe_ip_disassociate`
- from nova/virt/baremetal/db/api.py removed functions
 `bm_node_associate_and_update`, `bm_pxe_ip_create`, `bm_pxe_ip_create_direct`,
 `bm_pxe_ip_destroy`, `bm_pxe_ip_destroy_by_address`, `bm_pxe_ip_get_all`,
 `bm_pxe_ip_get`, `bm_pxe_ip_get_by_bm_node_id, `bm_pxe_ip_associate`,
 `bm_pxe_ip_disassociate`
- from nova/tests/virt/baremetal/db/utils.py removed function `new_bm_pxe_ip`
- removed nova/tests/virt/baremetal/db/test_bm_pxe_ip.py
- modified `baremetal/volume_driver.py` - now we get `address` using
  nova db api

Fixes bug 1156745

Change-Id: I61f78d692da276694d79a7c1a8d45a466d124c70
Converts scheduler.utils.build_request_spec return to json primitive

Other than 'instance', 'image' can also be a complex structure and
then it needs to be converted. See: nova.compute.rpcapi.prep_resize
as an example.

Change-Id: I54570dad3eae6ecc91a433af68263794c22e268d
Remove usage of locals() for formatting from nova.scheduler.*

Using of locals() for formatting string is a nasty thing because:
1) It is not so clear as using explicit dicts
2) It could produce hidden errors during refactoring
3) Changing name of variable causes change in message
4) Creating a lot of unused variables

fixes bug #1171936

Change-Id: I7639631846a9145c3a18f2a704b71184ec781f45
Merge "Converts scheduler.utils.build_request_spec return to json primitive"
Merge "Remove usage of locals() for formatting from nova.scheduler.*"
Merge "Drop `bm_pxe_ips` table from baremetal database."
Merge remote-tracking branch 'm_src_repo/citrix-fixes' into build-temp