do not assume protocols are lowercase (untested fix, but trivial), better heuristic to decide when to add port number to host

wtf did i think they were lowercase? wtf do some servers not work if the port number is added to the host name? wtf do some servers return nonsense if the port number is *not* added to the host name (e.g. lübeck zhb)???

--HG--
branch : trunks
forgotten file for non-lowercase protocol

--HG--
branch : trunks
UTF8 -> modified UTF-8 (= CESU-8 + special NULL encoding) conversion for all strings passed to Java

--HG--
branch : trunks
test cases for modified UTF-8 functions; changed them to detect/fix non-shortest encoding errors too

--HG--
branch : trunks