NetCore DNS

:boom: It begins...

* Fix for a clang warning in plPythonPack about size_t comparison with -1.
* Fix for warnings about plFileSystem using mktemp.
* Fix for semaphores on *nix being used without ever being initialized.
* Fix for semaphore TryWait not working on *nix.
* Start of a new NetCore system. Currently only handling DNS lookups using C-Ares.

Some things for discussion:
* Since this netcore system isn't going to be ready any time soon, should it be conditionally enabled by a CMake flag?
* Concerns around adding C-Ares as a dependency?
* Error reporting/handling from async network threads?