Search for subgames using $MINETEST_SUBGAME_PATH.

Using an environment variable allows the subgame search paths to be defined by the user, rather than fixed at compile time.  This patch will search the paths contained within the environment variable `MINETEST_SUBGAME_PATH` for subgames before searching the share and home directories.  When this environment variable is not set, Minetest behaves as it has prior to this patch.

One particular use-case for this patch is to allow Minetest to be played on the GNU system running the [GNU Guix](https://gnu.org/s/guix) package manager, where applications are installed on a per-user basis and packaged files are immutable.  In other words, there's no `/usr/share/minetest/games` directory to write to.  The necessary search path is dependent upon which user is running Minetest and where their "profile" (installed packages) is located.
Thanks for this.  I was anticipating a memory management issue.