switch interface from SetID() to WriteJson()

The latter is more flexible, allowing the implementation to decide
how, or if, to use the key.
log an error to the console when a search  error occurs
implement the admin API for new user tokens
handle /new-user
switch to function to avoid odd memory issues
remove the whitelist

Now that tokens work we don't need it.
simplify error handling

Idea inspired by http://blog.golang.org/error-handling-and-go.
demonstrate simplified error handling for some REST apis
implement basic cellar listing driven from static json