Add simple deserialization for some basic types.

Do not use this yet, as the API is still subject to change.

Refs #1.
Add some more ctors.
Formatting.
Add DeserializationContext for object references.

Refs #1.
Clean up Makefile.
Simplify deserialization test functions.
Add AmfDate deserialization.

Refs #1.
Add tests to check if additional bytes are ignored.
Add deserializatin for Xml and XmlDocument.

Refs #1.
Use macro for explicit instanciation.
Add virtual ctor to AmfItem.
Store actual objects in Amf collection types.

This is in preparation of deserialization support for those types.
The fact that shared_ptr<AmfItem>s are used for those collections is
just an implementation detail, the collections actually have full
ownership of the objects they contain.

Refs #1.
Add simple test modification of array members.
Add length check to AmfDate::deserialize.
Remove unnecessary condition.
Move DeserializationContext's template function to header.

This is in preparation of adding deserialization of the container types, which
are themselves template classes. Thus, explicit instantation for each possible
template parameter for each of the containers would be required.
Rename vector type tests.
Remove now unnecessary includes.
Explicitly specify byte size of vector elements.
Move externalizer from traits to AmfObject and make it public.

Also add some tests for externalizable objects.