First pass over plMessage headers.

This reduces the amount of redundant #includes in the plMessage headers.
Still need to check over the actual source files and do some work to
remove pnUtils (ugh) from one message.
Fix unsafe cast
Remove unused NetCommMsg
PCH-ize plMessage
Fix fallout in 3dsm plugin
Clean up some warnings, and make the CRT ones more relevant
Merge pull request #393 from dpogue/nix-fix

*nix fixes
Merge pull request #397 from zrax/warnings

Clean up some warnings, and make the CRT ones more relevant
Only try to find the Max SDK if it was requested (and show the option to try to build it always)
Use the UTF-8 version of Expat
Clean up plDistributor max/pl point interop

There were two terrible things here:
* Some nasty pointer-based casting
* Storing references to temporaries

Unfortunately, storing addrs of temps was happening through a helper
function, so VS won't warn here. I think I caught all the cases where
those functions were being used wrongly, but I can't be sure until
coverity runs on this commit.
Add better error handling to app.event console command
Fix uninitalized pointer assumed to be null in Listener.XMode console command
Merge pull request #401 from zrax/max_cmake

Only try to find the Max SDK if it was requested
Merge pull request #403 from dpogue/coverity_patches

Coverity patches

Closes #396.
Use pointers instead of array syntax.
Fix an uninitialized value in hsBounds.
Remove unneeded register keyword.

In modern compilers, the register keyword has no effect. On clang, it
generates warnings.
Improve clarity of stat/_wstat64 return value.
Update README and add prepare_env scripts.