serialize non-string nova metadata

This patches ensures that non-string metadata values passed to Nova
are JSON-encoded. This permits setting metadata to complex values,
such as:

    instance0:
      type: OS::Nova::Server
      properties:
        metadata:
          internal_ip: {get_attr: [instance0_eth1, fixed_ips]}

Change-Id: I1a943876d805dce731771b18a39d0c78f617264a
Closes-Bug: 1274155
Merge "serialize non-string nova metadata"