Added generalized XmlContentReader

The first commit (19109a7) is a change that allows an api user to specify a custom content reader, instead of the default one associated with the class.  It's a breaking change (signature change to the public API), but allows us to easily add additional options to the ContentManager with no further API changes.

The second commit (ec67f28) adds an XmlContentReader class, which allows API users to easily import custom types using the default ContentManager.  I did my best to support .Net 2.0, but something may have slipped by me.  In any event, it compiles in Net20Release and Net20Debug on my machine.