Fixes#487
* This doesn't fix existing stuck jobs, in order to fix, remove repeat, cancel, add, repeat
* Most workshops worked great after this, however, I noticed my bone bolts and wood bolts still got stuck, not sure if it is the same issue
* The unk_v4020_1 field was not being reset to -1 when resuming the job.
* Updated to be reset only when the job is being resumed
** Setting it to -1 without checking sets this field on all workflow jobs, which causes a crash
* Made other calls to suspend call set_resumed rather than setting the suspend field
This is the behavior I saw for the unk_v4020_1 field:
Suspended jobs: -1
Jobs not in the top of the list but not suspended: -1
Jobs at the top of the list to work next, not suspended: A positive integer (priority of job?)
* tweak: Log tweak changes to stderr.log instead of the console
* stockflow: Use "enable stockflow" instead of "stockflow enable"
in dfhack.init-example
Makes workflow understand "seeds of any plant", "thread of any plant",
"drink of any plant", "powder of any plant", and "liquid of any plant"
when counting items.
Changes workflow's handling of the built-in plant reactions to
understand that they always produce plant products, and that they also
produce seeds.
This means that you can set a target for, for example, "powder of any
plant", and workflow will use a milling job to produce that.
Try harder to concentrate skill on certain dwarves, at the expense of
potentially allowing more idle dwarves.
Attempt to keep dwarves with tools from running off and doing other
things while holding on the tool so much.
Add comments explaining the two modes autolabor uses depending on number
of idle dwarves.
Autolabor was disabling all labors on dwarves selected for trading or
diplomacy, even if those labors were not supposed to be managed by
autolabor. This is wrong.
This allows plugins with vmethod hooks to be reloaded on OS X by making paths
embedded in shared libraries use @rpath instead of embedding the build
directory, which avoids the need to change them them later. Modifying paths in
libdfhack.dylib caused it to be reloaded, which prevented hooks from working.