Working-ish unicode

This pull gives us working-ish unicode. By working-ish I mean every script should be able to handle wide characters and for some reason they get html-encoded. I don't believe that was me, likely someone else's work in an earlier commit that wasn't working without use utf8.

Not sure if all of these are absolutely necessary but I'm going with "handle utf-8 right unless you've a reason not to" as my working theory. Consequently this includes ALL .pl files and all the .pm files loaded by the vhost conf file.

This will almost certainly break "something" but I'm way too small a dataset to find all the issues.