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.
Update README and add prepare_env scripts.
Merge pull request #398 from zrax/expat-utf8

Use the UTF-8 version of Expat
Merge pull request #405 from dpogue/readme

Update README and add prepare_env scripts.
fix for g++:
	fix plVault LogMsg calls + remove useless wide char usage
	fix usage of plAvatarMgr::FindAvatar() and plLinkEffectsTriggerMsg::SetLinkKey() with temporary variables
	plNetServerSessionInfo.h need std::string
	fix plProgressMgr.h: NumLoadingFrames() have an useless class context information
	fix plSocket usage of non-standard NULL
pnAsyncCore[Exe] cleaning:
	move and rename pnAsyncCoreExe stuff into pnAsyncCore
	move Private/* to remove this folder
	change header style (remove error on multiple inclusion)
	move pnActhread.cpp and pnAcTimer.cpp to Nt
	remove Pch.h and pnAcAllIncludes.h; correct headers inclusions
	remove empty Unix folder
	change NtGetApi to GetApi and remove conditional use of this in pnAcCore.cpp
	added conditional subdirectories inclusion in CMakeLists.txt
	split pnAcIo.h into pnAcSocket.h and pnAcDns.h
	move 'AsyncCore not implemented' error  into CMakeLists.txt
	change Perf*Counter functions to use 'EAsyncPerfCounter' instand of 'unsigned'
remove useless g_api in AsyncCore
remove pnAsyncCore.h
replace pnAsyncThread by hsThread
make pnAcTimer generic (use hsEvent/hsThread)
FIXME: thread stop() with timeout is not implemented
Convert pnAsyncTimer into class
pnAsyncTimer optimisation
remove useless AsyncSignalShutdown and AsyncWaitForShutdown (hsSemphore/hsEvent can do this)
generic NtWorker-like implementation