Added custom BeanSerializer and BeanSerializerFactory which serializes type info along with Object Id for shared refs
moved serialization stuff to a seperate package