Fix baremetal get_available_nodes

Baremetal driver get_available_nodes was incorrectly returning only a
list of unprovisioned nodes, leading update_availabile_resources to
sometimes delete a baremetal node that had an instance provisioned
to it -- sometimes even while the provisioning was still in process.

Fix bug 1174952

Change-Id: I4f08a2f6539a5b6cd12245ac6b4dc308767ae0cd
Convert the cache key from unicode to a string.

The memcached API expects string format, not unicode.
Convert the key passed to the memory cache to a string
before sending it to memcached. Since both the function
name and the id that form the key are ascii format, a
simple conversion from unicode to str is sufficient.

Change-Id: I9d15858ad4e10aa183444cccda9c33676059e55a
Fixes: bug #1174487
Merge "Convert the cache key from unicode to a string."
Merge "Fix baremetal get_available_nodes"
Merge remote-tracking branch 'm_src_repo/citrix-fixes' into build-temp