Refactor Kryo serializer to use the Twitter chill library

This pull request refactors the existing KryoSerializer to use Twitter's [chill](https://github.com/twitter/chill) Kryo library. This significantly simplifies Spark's Kryo serializer implementation and removes a lot of the hacks around handling Scala's maps and other types. We also found an issue with the existing Kryo serializer implementation where ragged arrays were not serialized / deserialized properly. A test case for this has been added. I've tested this new implementation extensively on top of the 0.7 branch and it performs well in our testing. If accepted, it would be nice to apply these changes not only to master but also for the upcoming 0.7.1 release if possible.