adding some provisions for writing lower-level unit tests targeting specific sub-systems of the compiler

see sigmatch as an example.
tests are compiled only when the compiler is compiled with -d:selftest
to execute them, just run the resulting binary without arguments
fixes #708

It's unclear to me why for variables were treated as globals.
This is likely to cause many problems, but in this particular case
it was breaking the unittest/insepectArgs recursive function (the
for loop variable has a different value in each stack frame)
Fixes strutils reference in macro tutorial.
Updates configuration for recent lib removals. Refs #698.
Merge pull request #721 from gradha/pr_doc_fixes

Doc fixes
progress towards adding negative type classes

[unittest bugfixes]
the block form of check now allows comments
errors when inspecting the arguments of var-accepting procs
Merge branch 'master' of github.com:Araq/Nimrod into upstream