Add recursive check on generic serialization.

This does not enforce that every field in an object is Serializable, but at least fails fast during compilation.
IcicleConverter should probably have a batter exception handling, specifying which generic type is not Serializable.
Process the inheritance of collections through a map of TypeMirrors
Merge pull request #7 from frankiesardo/generic_collection_type

Generic collection type