CryptoJS 3.1.2

Also drop the getRandomBytes thing. We're not using any part of CryptoJS
that calls their (bogus) random function directly. May as well make it
easier to upgrade that one.
jQuery 1.9.0

Unfortunately, this adds a CSP error. We may have to punt inline style
blocking someday. It's pretty wonky. Although setting
foo.style.background is okay, cloning the node with cloneNode() isn't.
Nevermind that setting style.cssText is fine. And last I saw, Mozilla
was advocating not remove foo.style support too, which seems pretty
bogus.

For now, the error is benign, so we don't need unsafe-inline, but yeah.
This is silly. Inline <style> tags are somewhat more interesting than
inline style attributes.

On the plus side, this new jQuery has source maps.
Use KDC.Principal serialization functions

Also tidy up that code a bit. No need for Q.fcall.
Less type confusion

Will let us store more things on these objects.
Hang KDC.Principal objects off of KDC.Session

This is so much nicer.
Polyfill Function.prototype.bind

Seriously...
Send the dictionary version of KDC.Session

Unbreaks passing tickets along.
Make the login form a template + function

Means we can later have the two entry points call it differently,
Instantiated 'authed' panel on-demand

This breaks request_ticket_v1.html when the user isn't already logged
in, but that will be fixed shortly.
Refactor a little
And use getTGTSession in request_ticket.js

Now this unbreaks stuff from before and we FINALLY can merge the two
files.
And FINALLY merge the two files
Missing a done() call
Don't reload the page on logout