removed unused (and dangerous) 'shell' inline command
remove pointless gnu90 dir: it's essential the same as 'gnu'
rewrite makereport

- Rework the plugin system: plugins don't get put into the global
  namespace anymore but each has its own like a proper python module
- Rework tests: No long use classes/inheritance but dissect the
  functionality into Test Steps and Checks:
	  A step runs an external command and collects all available
	  information about this run. It does not assess the results

	  A check looks at the information collected by the step and decides
	  wether the test has failed or worked.
  So should_warn and should_not_warn tests can share their test steps
  and just register some different checks. Also many checks can be
  reused accross different tests.
- format sourcecode in a more python code style manner (although I don't
  like spaces instead of tabs...)
test for (now fixed) preproc bug
2 should_warn preproc tests