OS X compatibility fixes

Code fixes for compatibility with OS X, see https://github.com/minetest/minetest/issues/1242. I have tested this on OS X and Linux. Some code is borrowed from github.com/constcast/vermont, which is also GPL'ed.
This isn't indented correctly.