Link Service.compute_node with ComputeNode object

This is the third in a three-step dance to implement a Service
object, a ComputeNode object, and finish the relationship with
the circular reference from Service to ComputeNode. It adds
Service.compute_node, a nested object relationship that is either
lazy-loaded on access, or pre-loaded if a database query
includes it. This should exactly match the behavior of the
SQLAlchemy objects that we have now.

Note that this requires a new DB API method to look up a
ComputeNode object from its service_id. This was previously
provided by the SQLAlchemy relationship between the two objects.

Related to blueprint compute-api-objects

Change-Id: If62d443e34a3c8ce9bc83008fc69821494686bc7
Merge "Link Service.compute_node with ComputeNode object"