Building base material undump script.

Based on an idea in https://github.com/peterix/dfhack/issues/119
Better way to check for the contained_items field.
Ignore Mac OS X .DS_Store files
New plugin: building-hacks. Allows workshops to block liquids and consume mechanical power, connect to machines.
Added animation and on update callback.
building-hacks: added lua convenience function, made impassible tile fix optional.
eventful: added support for custom workshops and a convenience function to interpose side panel generation
docs: updated eventful lua api and added building-hacks docs.
Minimal Readme documentation for the undump-buildings command
Add Job::getName(job *), also available from Lua
Assorted cleanup
Add Items::getItemBaseValue and Items::getValue, available from Lua
Fix signed-unsigned mismatch warnings in the new item value code.

Unsigned comparison allows catching negatives in the same check too.
Also, it didn't check the values in getValue.
Make using new for allocating DF objects with vtables a compile-time error.

When done from plugins, it doesn't correctly initialize the vtable
because of some weird things MSVC does, so the only safe way is to
use df::allocate<df::foo>(). For consistency, it is also enforced
for code in the main library. It reveals the issue in the digging
invaders plugin, first found by warmist.

This change is linked to a modification in df-structures codegen.
gm-editor: Added enum printing and selection.
gm-editor: a bugfix for some entries not having fields
gui/gm-editor: Fixed enum editing. And added free pointer/reinterpret options
Merge gm-editor changes by warmist into develop
Merge 'ignore_DS_Store' of git://github.com/tareqak/dfhack into develop
Merge branch 'undump' of git://github.com/eswald/dfhack into develop
Updated NEWS.