Adding URL state for upload, login, and register dialogs.

I've broken up as many stragglers as I could think of into additional issues. This has changed routing a great deal. We now prefer `girder.router.navigate` with `{trigger: true}` to the old-style eventing.