issue #60: properly handle small Scala maps when registration is required

This pull request addresses issue #60 that deals with properly serializing small Scala maps. It turns out that using `ClassManifest.erasure` doesn't return the proper class for small maps. For example, the above method returns `scala.collection.immutable.Map` instead of `scala.collection.immutable.Map$Map1` for the map `Map(1 -> 1)`. I've added a new method for serializing these beasts as well as a few unit tests for testing them. The new tests fail if you comment out the new registrations for these small maps.