Concentrate and refine Lua error reporting:

Add a single function that reports errors.

Check global Lua state pointer before using it, just in case Lua wasn't initialized.

Use wrapper lua_dofile instead of luaL_dofile, as it reports errors.
Add wrapper to pass strings for format specifiers from Lua to C++

Lua might send strings containing "%s" or similar, which would be interpreted by popup and add_msg, and both functions would expect further parameters, which Lua does not provide.
Add compatibility for Lua 5.2

Lua 5.1 is still supported.
Prevent out of bound indexing on decay_msgs vector
Fix clang incompatibility
Adds survivor machete.

As suggested by @John-Candlebury here:
http://smf.cataclysmdda.com/index.php?topic=8444.msg194374#msg194374.

An improved version of the machete, the survivor machete is an
autolearned craftable improvement that adds a couple points of damage
and a few techniques to the weapon.

Can occasionally spawn in survivor zed loot.
Derp.
Merge remote-tracking branch 'dda/pr/9937' into dda-master

* dda/pr/9937:
  Add compatibility for Lua 5.2
  Add wrapper to pass strings for format specifiers from Lua to C++
  Concentrate and refine Lua error reporting:
Grammar.
Secondary skill.
Update armor.json

Adds dusters. They're modeled after the trenchcoat items but also cover the legs. Their volume, weight, and components needed to craft are 35% higher than trenchcoats.
Update recipe_armor.json

The duster recipes. Have a 35% higher component requirement than trenchcoats.
Update item_groups.json

Simply adds duster spawn chances to the same places trenchcoats spawn, and at the same spawn rates.
Merge PR #10166 from arcke:decay

- Prevent out of bound indexing on decay_msgs vector
Fix TypeError from silly use of None defaults

Repeat after me: None is not iterable. I shall not attempt to iterate
None. I shall not pass None as the default value for a missing
dictionary key unless I want a TypeError.
Don't leave files open. It's what `with` is for.
template update
Partially merge PR #10175...

...from VlasovVitaly:pot-update3:

- template update
Small mapgen fix
Added an option in the martial arts menu to prevent accidental wielding of items when fighting unarmed. (keep hands free)