Implements storage that support typed objects.

The default storage class in closure library uses non-native serializer
and cannot support type objects (i.e. class instances). This
implementation uses the toJSON method to overcome the limitation.
Spell and style fixes

Minor fixes in the style to account for the
linter. Spell corrections in the jsdocs.