Add deployment target metadata refresh endpoint.

So there's a lot going on here. Agents can return their metadata, which
includes the metadata from their connected adapter. This involves a lot
of requests when you go from the UI all the way to the adapter, so we
want to persist it. There are two models that can be easily confused but
are distinct. RemoteAgentMetadata is an ActiveResource model that talks
to the remote agent, and DeploymentTargetMetadata is the persistence in
the API.

ActiveResource was not particularly pleased with the idea of a dynamic
endpoint (because each agent has metadata at a different URL) combined
with a singleton (because each endpoint only has one metadata), nor was
it thrilled with a dynamic resource having embedded resources within it
(the RemoteAgentMetadata includes separate hashes for the agent and the
adapter rather than a flat list). Most of the extra code in the
ActiveResource models is to deal with that.
Add metadata to serialized DeploymentTarget.
Nest metadata within metadata refresh response.

This accomplishes two things: it makes room for success/error
information in our response, and makes this endpoint easier to use in
ActiveResource. It's going to be hard to 'create' a refresh but return a
metadata object. If the refresh object that is returned contains
metadata, though, that jives better with ActiveResource.