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')
Fix handling of null/undefined comparisons
Add another undefined test case
Rename method to reflect that it is PlayScript specific
Fix build warning (file listed twice)
Handle null and undefined keys

In ActionScript, using null or undefined as a key converts the value
to the string "null" or "undefined" respectively.
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
check in android assets loading change, so it will not throw FileNotFoundException if the assets are not in the apk, instead it will try to load with the same path as a plain file
Use more performant check for undefined
Put null/undefined key handling behind a compile flag

Since the special handling of null and undefined key values is an
as3 wart, I'm going to put it behind a `#if !DISABLE_NULL_KEYS` check,
with the as3 behavior defaulting to enabled. This also means null
checks which were removed were added back.

Also removed the FormatKeyForAs call from a few spots where it wasn't
necessary (due to being called earlier in the call stack).
Use AggressiveInlining for FormatKeyForAs
Merge remote-tracking branch 'origin/cbroglie-undefined'
AMF -  set Expando capacity before reading