BUG-1745, BUG-1746: remove needless quotes

The class-based detection did not work because the encodec values are
always strings. Rework the codec factory to make that obvious. Add a
codec-type dispatch which will detect the need for quotes.

Change-Id: I9ca6b66d95522d2022db3f271f9fc40d213a8329
Signed-off-by: Robert Varga <rovarga@cisco.com>
BUG-1768: expose JSONCodecFactory for sharing

Codecs can be cached for a particular schema context instance, and used
by multiple writers in parallel.

Change-Id: I3672c44d899d8d7e59d63bfbfa037298bac4900d
Signed-off-by: Robert Varga <rovarga@cisco.com>
Merge changes I3672c44d,I9ca6b66d

* changes:
  BUG-1768: expose JSONCodecFactory for sharing
  BUG-1745, BUG-1746: remove needless quotes