Ability to reorder Categories and MenuItems

Fixes #6 
I created a new `Category` message here but I don't like it. This is different from the one we've been using in that it doesn't contain the entire list of menu items that the category contains.

My reasoning being that if the web sends all the menu items, the API should respect that and sync the data accordingly, which kind of sucks I think. Alternatively, if the web never sends the menu items, then on the api we sometimes respect the fact that menu items are attached and sometimes don't.

@atscott @jault3 thoughts on what's best here?