minetest.rotate and place

Description
Attempts to predict the desired orientation of the facedir-capable node defined by itemstack, and places it accordingly (on-wall, on the floor, or hanging from the ceiling). Stacks are handled normally if the infinitestacks field is false or omitted (else, the itemstack is not changed). orient_flags is an optional table containing extra tweaks to the placement code:
 * invert_wall: if true, place wall-orientation on the ground and ground-orientation on the wall.
 * force_wall: if true, always place the node in wall orientation.
 * force_ceiling: if true, always place on the ceiling.
 * force_floor: if true, always place the node on the floor.

The above four options are mutually-exclusive; the last in the list takes precedence over the first.


 * force_facedir: if true, forcefully reset the facedir to north when placing on the floor or ceiling