Implements Client Management Endpoints

We already had the R of CRUD, this adds the other 3. The 3 new endpoints require an oauth token with the scope `oauth`. Yo dawg, I heard you like oauth?

@rfk r?
@vladikoff you should take a look and see if there's something I've forgotten that the console will need.

fixes #60 
I don't entirely understand what's going on here in this logic, but it seems like it's easy to get confused about whether we're writing a hashedSecret or secret to DB. On a related note, I'm not a fan of the DB column being called `secret` when it actually stores a `hashedSecret`. @seanmonstar, can you explain why it's fine for `secret` to be either `client.hashedSecret` or `client.secret` here?