[monodoc] Changes to support new-style iOS documentation:

- Fixed bug in creating CREF strings.
- Refactored XML file processing for customization during new style iOS assembly. This was done through the new file source interface, which lets you use dependency injection to customize the process.
- Added the ability to rewrite CREF references when assembling docs that use native types. Also, the ability to handle dropped namespaces.
[mdoc] Changes to support new-style iOS API:

- the dropns flag now lets you define a namespace that is dropped in a new version of the assembly during update.
- the ntypes flag lets you tell the update command that certain methods are now using native types, and as such will attempt to match with old types in order to preserve documentation.
- the preserve flag will avoid removing members. This is to avoid dropping documentation for members that changed from one version of the framework to another new-style version (ie. iOS).
[mdoc] Added preserver.cs to build script so make compiles
[mdoc] Fixed an issue with type-file path resolution.
In certain cases, such as stubbing out namespace-less classes it was failing to produce the right paths.
[mdoc] Fixed issue with assembly versions being added incorrectly
[mdoc] Moved enumeration back into deferred mode.
This resolved an issue with the ecmadoc importer that assumed execution would be deffered in order to keep reading from the XmlReader
[mdoc] Style updates per pull request feedback
[mdoc] Changed 'old' and 'new' to 'classic' and 'unified' per feedback.
Merge pull request #1189 from joelmartinez/docs-64bit-squash

MDoc and monodoc.dll changes to support iOS 64Bit API