Add javascript and API endpoint to change timezone

This is imperfect, it should set a proper POSIX timezone in the format of `PDT8PST` but it instead sets `EFF{offset}local` which will work for now.  Fixes #117
I would pull out the "user." prefix and just call this method "set_timezone". Honestly I can't really decide what to do with the JSONRPC stuff - whether we should double down and implement JSONRPC more fully and correctly, or just ignore it and e.g. stop sending method names that we don't check. I think the status quo is fine for now.