Consolidates unit tests so that the tests for a stream are exactly the same as the tests for strings
Moves the _parseString method

Moves the _parseString method so that it is further down, with the protected methods
Adds a default event handler, sets up a default namespace, and resets the stream, if it's been pased over
Makes trailing a slash optional

Makes the trailing slash when declaring a namespace optional.
Also makes the namespace upper case so that it conforms with
the XML implementation
Makes the attributes lower case, so that it conforms with the output
Modifies the stream reader so that it returns the correct object
Ensures that the return object is correct when parsing