Feature update and improvements.

* Type members may no longer define multiple ArrayElementAttributes.
* XmlSerializer is no longer static, and may be instantiated. This is to
accommodate new features.
* Implemented user-defined type handlers, allowing users to deserialize
any type that is not an enum and/or is not supported by
System.Convert.ChangeType.
* Added default type handler to support basic CLR types. These types are
dependant upon the System.Convert.ChangeType method.
* XmlSerializer now internally uses a safe-casting method to minimize
chance of exceptions.
* XmlSerializer now supports serializing an object back to an XML file.
* Updated README