Token authentication for Chef Server

Ping @smith @seth @mmzyk @danielsdeleo @lamont-granquist.

Hot off the presses, have at it!
The `POST /tokens` API uses normal Chef auth (so either key sig or an existing token), there is an example below of extending the `/authenticate_user` API to also create a token if requested. This one would mostly be used for things like delegating access from a knife plugin.