AMF optimizations
Allowed registration of custom serialization functions
Created a Amf3Variant class which prevents unnecessary boxing of values
Created Amf3PropertyReader class which handles remapping of properties to deserializer
Moved class registration function into Amf3ClassDef
AMF - added callbacks for Vector<> construction
AMF - renamed Amf3PropertyReader to Amf3Reader, split out IAmf3Serializable into multiple interfaces
AMF - added out-based Read methods
Simplified the way remap tables were being generated for deserializers
Simplified the handling of missing properties (treat them as 'undefined')
flash.geom.Point - changed property to field to make serialization easier
AMF - Added Amf3CodeGen which provides methods to auto generation serialization code
Added Amf3ExternalSerializerAttribute for static helper classes that do serialization
AMF - removed some unused Read() methods that were confusing, removed name remapping, added more comments
AMF - changed Telemetry.Protocol to be namespace instead of nested class
AMF - removed unused code
AMF -  set Expando capacity before reading
Merge branch 'master' into ps-amf-perf

Conflicts:
	mcs/class/pscorlib_aot/pscorlib_aot-monotouch.csproj
	mcs/class/pscorlib_aot/pscorlib_aot-net_monomac.csproj
AMF - makefile fix for JIT builds
Merge pull request #291 from playscript/ps-amf-perf

AMF optimizations