v3-channels: Add commands API

One of the problems with play-hubot integration is that the script and play's API have to be kept in sync. Also, writing coffeescript.

This adds a Api::CommandsController which takes a channel name, user to act as, and the text of a command, and then does the thing. The hubot script (or anything really) will then be able simply call this controller, including the user's github login and either an explicitly specified channel, or a one inferred from the environment or the current room.

I could also imagine adding command line interfaces in other places, like a play excutable, or change the search bar into a command bar on the website, or possibly add command lines to native clients.