Initial work on NUnit2 XML output listener.

* Add basic --nunit2 filename configuration parameter.
* New NUnit2XmlOutputListener class.
* Unit test that validates against xsd, and verifies quite a bit of
  content.

There's a few aspects of this I *don't* like:

* The unit test is *ugly*. I've never before dealt with validating such a giant chunk of text/xml as part of a test.
* The implementation of the listener 
* Currently, passing in --nunit2 filename as a parameter cause zero console output. I was pondering a MultiplexingListener that we could add both the ConsoleListener and NUnit2XmlOutputListener to, and invocations of the Listener interface on MultiplexingListener would delegate to any added child Listeners.

Thoughts?