Add deconstruction result to furniture & terrain structures

Basically a reduced copy of map_bash_info: no sounds/strength check.
extract loading the std::vector<map_bash_item_drop> into a function
extract spawn of items from std::vector<map_bash_item_drop> into a map function
remove DECONSTRUCT flag and check for deconstruct json entry instead
Move deconstruct items for furniture from cpp to json
Move deconstruct items for terrain from cpp to json
Removing DECONSTRUCT flag from furniture without deconstruct info
Tweak to deconstruction logic,

Allow deconstruction of terrain only when no furniture is in the way. Prevents message "You have to push away %s first."
Add consistency checks for bash and deconstruct info
Fix item::is_of_ammo_type_or_contains_it.

Make it recursive as it is supposed to be.
And don't use item::ammo_type, as this returns the ammo type that is used (if it is a gun/tool), not the ammo type it is.
Deconstruct items for slide, not slime.
fix spelling
fix direction from coordinates
Merge branch 'furniture-desconstruct-to-json' of https://github.com/BevapDin/Cataclysm-DDA into Multimerge
Merge branch 'weapon-reload' of https://github.com/BevapDin/Cataclysm-DDA into Multimerge
Merge branch 'rename-qualities' of https://github.com/sduran/Cataclysm-DDA into Multimerge
Merge branch 'rename-qualities' of https://github.com/sduran/Cataclysm-DDA into Multimerge
Merge pull request #6919 from BevapDin/fix-direction

fix direction from coordinates
Tiefer.

Turned out that the crafting code can handle liquids no problem.

Down we go.
Working upstair & z-boundaries

OK, now you can't dig outside the existing scope of z-levels but you can
dig an upstair.  This should keep the base-builders busy for a while.