Make test systems extendable

This pull-request provides a common way to deal with test systems.

You can now explicitly tell FitNesse to use the in-memory test runner for Fit
or SLiM, by setting the `TEST_SYSTEM` variable to either 'fit^inprocess' or
'slim^inprocess'.

You can define

    TestSystems=foo:my.FooTestSystemFactory

to add a new test system to FitNesse and define it using the `TEST_SYSTEM`
variable. The test system factory should implement the
`fitnesse.testsystems.TestSystemFactory` interface.