IPv6 all the things

This is my attempt at IPv6 support. I tested login, tested the temporary IP bans stuff, and tested a conversation message or two.

Basically, had to convert everything to store in hexadecimal, in tinyblob fields. These appeared to allow similar comparisons to what you would expect out of an integer. Can't speak for performance yet, but as rare as they're used I doubt it will be much of an issue.

I did my testing on PHP 5.4, I wrote a backwards compatibility pack function in there for the PHP 5.3 for the `hex2bin` function so I think everything else should be good for the dependencies.

Think this fixes #180.