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 #403 from dpogue/coverity_patches

Coverity patches

Closes #396.