Deployment target metadata

**NOTE: This merges into PR #242 **

This adds the ability for the API to ask any agent for its metadata, to persist that metadata locally so that we aren't hitting multiple endpoints every time we want it, and to refresh our persisted metadata.

For the moment I went with the simplest persistence mechanism, which is one column per attribute that we know about (agent version, adapter version, and adapter type). I'm not sure that's the best route to go if we start adding a lot more metadata, but I didn't want to go wild storing arbitrary JSON in the database or something until we know what else will be held in metadata. The data in that table can be wiped out at will, so changing the schema later isn't much of an issue.

I have a couple of TODO items I might look at before I merge:
  * Making my webmock helper a little less lame.
  * Refactoring out the similarities between the two anonymous ActiveResource classes.
  * Fix the world's strangest route: `resource :metadata, only: []`