Add support for generating terrain in a separate process

For measuring CPU usage of the terrain gen separately from the main server.

The config option in server.properties is external-generation. To override the executable used to launch the external generator (the default is HHVM), use the option external-generation-cmd

The transport used is Unix sockets, like stock threaded generation. External generator logs are printed to /tmp/pmexternal

Caveats:
- Phar archived PocketMine distributions are not supported
- Doesn't run on Windows because of the usage of Unix sockets

Since this is meant as a debug option, I don't think those defects are important.