Target Java 1.6.

Also specify UTF-8 encoding.
Fixes to .git* files.

I know, CRLF is "unclean". But all the files in here are currently
that way, and I don't really want to do a megacommit to fix it all
right now.
Fix the nasty NullPointerException that was preventing startup.
Fix the ArrayIndexOutOfBoundsException that occurs on second startup.
Merged gitignore
Merged with master