Issue 13 Completion

Fixes issue #13.

This completes the items, which were left undone in an earlier merge request. See #13 for a list of all the items included.

The commits below make the following changes to NUnitLite, to match nunit-console...

1. Modify --test to take a comma-separated list of values.
2. Modify --explore and --result to take output specifications
3. Add tests of --include and --exclude options

Note that the implementation of --include and --exclude for both NUnitLite and nunit-console allow comma-separated lists of categories but _not_ category expressions as implemented in NUnit 2.6. We have some design work to do to define a dsl for  selecting tests.
We don't tend to in this project, but should we get in the habit of adding guard clauses for public methods? In this case,
```C#
if (options == null)
    throw new ArgumentNullException("options");

// or
if (options == null)
    return TestFilter.Empty;
```
I don't like writing too many guard clauses and they do add extra code that needs to be grok'd, but they do make the code safer. I could go either way on this, it is just something I was thinking about recently while working on the framework.