CURATOR-67 defer creation of serializer

Instead of immediately creating a new JSONInstanceSerializer we can
defer until build() is actually called. This lets users specify their
own serializers and avoids issues where there may be version conflicts.

This closes #30