Mesecons support, fix sounds

Fix sounds so right closing doors sound like they're closing, also add
support for mesecons to both doors and gates.

TODO: handle already placed doors better
Detecting whether existing doors are closed

Got calculate closed working

Fixed isSolid, figured out when closed has not been set, added a way to reset closed by punching for debugging
Remove spammy debug messages
Fix nodedef of open gates
Merge branch 'master' into HEAD

Conflicts:
	doors_and_gates.lua
Bug fixes

Can't use vector.new right now because it's got a bug when x/y/z == 0

Also making sure to use the word "level" not "levels" <_<
Move table copy function out of signs lib and into init.lua, make it global.