Add built-in enable and disable commands.
Implement the same random generator as DF uses for DFHack.
Fix linux and windows build issues.

- Linux makefile overrides and removes the optimization flags.
- Old linux gcc doesn't understand lambdas.
- MSVC doesn't like extern and explicit instantiation in same file.
Implement a template-based classical Perlin noise generator.

The mask argument of the Impl template is there because apparently
an inner template cannot be fully specialized, so there needs to be
some argument besides i.
Fix the lua script not printing any errors if executing a file fails.
Use a better hash function in the Perlin noise generator.
Remove the use of lambdas in buildingplan.
Add a Perlin noise test script.
Remove lambdas from dwarfmonitor and resume.
ruby: vectors default to int32_t
ruby: add support for enable/disable plugin