Add curtains to vehicle doors

This also enables the use of multiple openables on a single tile
add door curtains to default vehicles
Fix checking if outside in vehicle::open()
Folding poncho proof of concept and new pack_item/unpack_item function for armors which can be folded down into non-wearable storage size.
Turns the crappy emergency blanket into an awesome folding space blanket.
Radiation biomonitor device.

Battery powered, worn like a wriswatch. Must be worn before it can be
activated. Tells you your current radiation level. Craftable.
Poorly fixing bad formatting.
I hope I did this right.
Correction.
Melee weapons can take wear and tear damage based on their primary material.

They still don't lose their effectiveness when damaged, but that comes
next.
Some math tweaks.
Add some encapsulation to cata_tiles.

Made most functions and all members protected.
Only the functions called from outside are still public.
Added inline wrapper to access some members.
Move releasing loaded tile data into separate clear function
make tile_atlas a temporary variable

It is only used to extract the tile images from it. There is no need to store the whole image the whole runtime.
If it is used only during loaded it does not need to be a member variable anymore.
Merge reload_tileset and load_tileset into one function

reload_tileset is only called from load_tilset so it seems a second function is no needed.
The code from load_tileset has been moved to reload_tileset and that function has been renamed to load_tileset.
Allow tiles from several tileset images to be used for tilesets.

Moved call to load_tileset into load_tilejson. Forward the image path to that function.
Added code that loads the tile definition into separate function (uses the JsonObject as parameter).
The json format can now contain a "tiles-new" entry instead of a "tiles" entry (backwards compatibility):
It should contain an array of objects, each object contains:
1. an image path
2. an array containing tile definitions based on that image. That array uses the same format as the old "tiles" array.

Made sure that load_tileset can load further tileset images without overriding previously loaded tiles (initialize tilecount to current tile count).

Added a test tileset: RetroDays by Abalieno
Remove unused members, if they are needed they can be re-added.
Remove the indirection of cata_tiles::tile_values.

tile_values does not need to be a pointer. It makes code more complicated and it's ... pointless.
Remove indirection from cata_tiles::tile_ids

Does not need to be a pointer. It's (as with tile_values) pointless to make this a pointer.
needless assignment removed