Since we use repository.settings as a kind of dump for all
sorts of settings, some user-facing and some not, this lets us
leave the db as it is, but pretend to have separate models for each
"kind" of setting.
This adds /repo/{repository.id}/settings endpoints for reading
and updating repo settings.
Main points:
1. Sets up Settings as a first class resource instead of as an
attribute of Repository
2. Adds new meta-programmed method to Query for accessing all
prefixed params as a hash.