Allow read only access to object's traits.
Use AmfItemPtr utility methods for casts.
Check for correct type in deserialization context.
Add AmfVector<AmfItem> and <T extends AmfItem> deserialization.

To allow generic deserialization of arbitrary type vectors, the AmfVector<T>
type is split up into a generic AmfVector<AmfItem> and a "strongly typed"
AmfVector<T extends AmfItem>, which can be converted into one another.

Closes #1.