1. All the tree harvesting functions that are based on seasonal harvest have been rolled into one.
reason: it was code duplication

2. The season & harvestable material from a tree has been Jsonified
reason: to make it easier to add new trees. Also build some kind of
framework around tree farming to later implement my other ideas (trees that
grow and die over time)

3. Trees are now harvestable once every year
reason: realism. before, a harvestable tree (or bush) would become a
simple tree (or shrub) on harvest. This makes it harder to stay in the
same location for too long, as the trees, shubs & forests are all
getting used up. This might be realistic for lots of gatherers, but in
the case of just one person, the forests should be a renewable resource.
(again i later plan to make trees plantable and make forests spawn trees
over time)
deleted blankspaces
reverted the seasonal harvesting changes as they were broken.
now the branch has only cleanup and Jsonify fixes..
More work on body wetness tracking
Mutations lengthen wetness
Body wetness is saved
Towels dry off the player... and I maybe refactored everything
Used new bodywetness values in warmth calculation
Merge remote-tracking branch 'dda/pr/8896' into dda-master

* dda/pr/8896:
  reverted the seasonal harvesting changes as they were broken. now the branch has only cleanup and Jsonify fixes..
  deleted blankspaces
  1. All the tree harvesting functions that are based on seasonal harvest have been rolled into one. reason: it was code duplication

Conflicts:
	src/iexamine.cpp
Floor bodywetness instead of decrimenting by 0.
Don't try to read nonexistent wetness value from legacy saves.
Style fixes.
Replace INBOUNDS macro with map::inbounds function

Make map::inbounds const,
Add a second version of map::inbounds to check tripoints.
Because both are functions and not macros, the compiler will automatically choose the correct one.
remove game::is_in_ice_lab as it's unused
add constant access to field iterator
Port Creature::pos to 3D (tripoint)

Changed Creature::pos to return a tripoint instead of a (2D) point.
Change creature_tracker to use tripoints only.
Made wrapper for rl_dist that takes tripoint and point, so one can call
them with any combination.
This creates some conflicts where the function was used. The position is temporarily wrapped into 2D-points there.

Added 3D-wrapper for game::mon_at, game::npc_at and game::critter_at
Added some actions to shift the view vertically

Added "Experimental-Z-Level" to the default mods because it makes sense now.
Made some drawing relateved function use tripoints

Made map::drawsq, map::draw and game::draw_critter expect a tripoint as
center.

Also make all parameters to map::drawsq mandatory.
Ranged targeting uses the 3D-point already but that won't be visible as there is no key binding to change the z-level there.
Made game::draw_ter use a 3D-point

Add a separate function with no parameters instead of using magic default values.
Add game::ter_view_z to match the other two ter_view_* members.
Make json handle point and tripoint directly.

Instead of implementing the serializer/deserialzer interface, support
direct input/output of point/tripoint objects. This is similar to plain
old data types and std::string.

Made constructor of tripoint explicit to avoid some bug.