Passcode redemption overhaul: now with plaintext copying, default display, JS console logging, heuristic item inference, and more

[For new stuff, scroll down!]

This has been in the works for a while.

I've completely overhauled IITC's passcode redemption, and plan to continue updates on it in the future.

The existing passcode system that I submitted on the day IITC was released works (and has had very substantial updates since then by others). Why change it?

As we saw with the Power Cube update, things break in weird ways. The passcode redemption system made a lot of assumptions about the format of rewards (and the types of items given), which made sense then. However, passcodes have changed in the past, and could change in the future.

This patch assumes that passcodes could (at some point) work like portal hacks, giving multiple types of items at different levels. It also assumes that new types of leveled items and mods will be released, and will actually display them instead of remaining silent.

This patch also brings back the possibility for plaintext reward copying. The last patch included a table, which is definitely more aesthetically pleasing, but is less friendly for copying. Want to copy the rewards? Just click the `plaintext` button under the table. Plaintext rewards are displayed to match [this RFC](https://plus.google.com/115907431535033114848/posts/PVV9j4fTR2m) posted on G+.

Finally, this patch logs passcode redemption on the JS console. Missed the rewards? Find them in the console.

I did have to change the globally-used window.postAjax function very slightly for this patch (data should be passed as the context for POST responses), but it doesn't break anything anywhere else.

Let me know if you have any questions.

Screenshots: http://d.pr/Ubdu/5wr3p11F and http://d.pr/dJfT/61RzYp3B for normal functioning passcodes, http://d.pr/pWYr/11UN1BPg for more ridiculous fake ones