Adjust the values of dirs1 and dirs2 so that rotate_and_place orients textures correctly

According to doc/lua_api.txt if paramtype2 == "facedir" the two least significant bits of parm2 orient the texture around the axis. For dirs1 (looking at a wall) these would be 0, 1, 2, 3 and for dirs2 (looking at the ceiling) 2, 1, 0, 3
Fixes for Android build errors. Enable sensor landscape rotation.

Fix typo in Android Makefile ndk path.
Fix touchscreen parts of game.cpp to work after Zeno's refactor.
Fix isdigit and isspace overload conflict with Android Irrlicht in string.h
Enable sensor landscape rotation in Android Manifiest.
Add mapgen v5 to Android build.
Fix Makefile not checking leveldb.

Signed-off-by: Craig Robbins <kde.psych@gmail.com>
Fix client "double saving" simple singleplayer local maps
Increase step smoothing to fit 1:1 stairs (works well on slabs too)

Signed-off-by: Craig Robbins <kde.psych@gmail.com>
Fix Android main menu crash, and user data directory check.

Signed-off-by: Craig Robbins <kde.psych@gmail.com>
Only set the camera update keymap when using a debug build

Signed-off-by: Craig Robbins <kde.psych@gmail.com>
Fix some undeclared global variables
Wieldmesh: don't force anisotropic filtering on, instead disable mipmaps

This should fix #1844. Thanks to oleastre for making the first version
of this commit (#1848).
added enable_build_where_you_stand option

Signed-off-by: Craig Robbins <kde.psych@gmail.com>
EMF_USE_MIP_MAPS was introduced in Irrlicht 1.8, don't use in 1.7.3 or below

This is not optimal as it will cause minor graphical glitches for
Irrlicht 1.7 users, but at least it fixes the build.
Wield: always obey anisotropic_filter setting, not just for hi res textures
Don't corrupt stepheight when setting other properties
Add minetest.copy_table(table) To get rid off the "table references"

Signed-off-by: Craig Robbins <kde.psych@gmail.com>
Fix regression with command line --go option
Update minetest.po (Japanese)
Improve Lua API documentation

Changes:
  * Add extra documentation for remove_item.

    This isn't as silly as it sounds: iterate a list containing items with
    unique metadata each, and remove_item the first one you find, placing
    into a different - fine, except the remove will invariably remove the
    wrong one, leading to items being duplicated and others destroyed.

    Arguably it's a bug, and Inventory::removeItem should actually remove
    the item you tell it to. (i.e. if the passed ItemStack has metadata,
    match it). But it seems reasonable to just document the behaviour
    more clearly.

 * Improve string_to_pos documentation.
 * Clarify dig_node documentation (return value).
 * Better on_step documentation.
 * get_nodemeta -> get_meta.
 * Other minor fixes.
Fix MSVC compiling error (argc/argv not available to pass to init_gettext)

Signed-off-by: Craig Robbins <kde.psych@gmail.com>
noise: Throw exception on noise allocation failure
Implement proper font handling
Scale form elements consistently

The ratios between the sizes of form elements, including text, is now
fixed, aside from variations caused by rounding.  This makes form layout
almost fully predictable, and particularly independent of player's
screen size.  The proportions of non-text elements are the traditional
proportions.

For compatibility, the way in which element positions and sizes are
specified remains unchanged, in all its baroqueness, with one exception.
The exception is that the position of a label[] element is now defined
in terms of the vertically center of the first line of the label,
rather than the bottom of the first line of the label.  This change
allows a label to be precisely aligned with button text or an edit box,
which are positioned in a centering manner.  Label positioning remains
consistent with the previous system, just more precisely defined.

Make multi-line label[] elements work properly.  Previously the code set
a bounding rectangle assuming that there would be only a single line,
and as a result a multi-line label would be cut somewhere in the middle
of the second line.  Now multi-line labels not only work, but have
guaranteed line spacing relative to inventory slots, to aid alignment.

Incidentally fix tabheader[] elements which were being constrained to
the wrong width.

Given an unusually large form, in variable-size mode, the form rendering
system now chooses a scale that will fit the entire form on the screen,
if that doesn't make elements too small.  Fixed-size forms, including the
main menu, are have their sizes fixed in inch terms.  The fixed size for
fixed-size forms and the preferred and minimum sizes for variable-size
forms all scale according to the gui_scaling parameter.