Move externalizer from traits to AmfObject and make it public.

Also add some tests for externalizable objects.
Simplify ctor.
Add DeserializationContext to VS project.
Fix overwriting sealed AmfObject properties.
Use exception instead of assertion for too many headers/packets.
Make the AmfObject(AmfObjectTraits) ctor private.
Add operator== and operator!= to all types.

Also create an AmfItemPtr wrapper class for std::shared_ptr<AmfItem>.
Add deserialization for AmfNull/AmfUndefined.

Refs #1.