Fixed some more encryption related bugs

Gosh encryption in java is annoying (in comparison to Python, anyway…).

We can now encrypt long things. Technically RSA is a poor choice for
this (and I perhaps should be generating a per session AES key and
using RSA to transfer it), but I want my listeners to be as stateless
as possible, so I'm avoiding that route. Besides, I don't expect high
throughputs while in testing mode - if this was deployed for a high
traffic device then this may be worth looking into though.

Also fixed an awfully annoying bug caused by the Android Base64
implementation (which inserts new lines… why?), which was messing up my
headers.
Oop