Run the update command as early as possible.

Avoid, as much as we can, the possibility of other broken code preventing the update function from working properly. Fixes #43.

There is one obvious thing that could still be capable of crashing `hk update`: code in `func init()` for each command that sets up flags. I don't know of an easy way to avoid that at the moment, but this should be a good start.