Portability fixes for OpenBSD (and possibly NetBSD and others).

Compiling and running on OpenBSD was working as of the 0.4.7 release, but not working in current master.  This patch fixes it.

A change was made to the way lua code is included that no longer works with relative paths, e.g. the built-in default "../" path to the minetest project root.

For RUN_IN_PLACE=1, Some OS-specific hacks were added for various operating systems (MacOS, Windows, FreeBSD, Linux) to determine the absolute path of the program being run, but there is apparently no POSIX standard way to get this information (probably due to the difference between spawn and fork/exec).  For all other operating systems, this patch restores the original behavior of assuming that ../ is the project root, but uses getcwd() to convert it to an absolute path.

For RUN_IN_PLACE=0, #if blocks were defined only for enumerated operating systems; all others would use the built-in (and no longer working) default of "../".  Since FreeBSD's code here is the simplest and looks very standard, this fix extends that code to cover OpenBSD, NetBSD, etc.