Registry and Unicode

* Totally rewritten main.cpp.
* Checks PATH.
* Checks the registry (both 32bit and 64bit keys if available).
* Explicitly uses unicode funcs and wide chars everywhere (vaguely related [link](http://cppwhispers.blogspot.com/2012/11/unicode-and-your-application-3-of-n.html)).
* Handles errors and prints descriptive messages.

A compiled snapshot was made available for testing on the FTL forum [here](http://www.ftlgame.com/forum/viewtopic.php?f=12&t=2464&start=1020#p50183).