major bug fix with (de)serialized models

I noticed that deserialized models sometimes performed about 10% worse
than they did before serialization. It turns out that the the two
"cache" variables were different between instantiations. So, once a
model is deserialized, its cache is updated. This is a rather trivial
operation (it just involves two passes through the tagset known at the
moment).

Another fix:

JSON uses double-quotes for strings, and since my feature strings
contained internal double quote literals, a lot of escaping was
necessarily. Now, single quotes literals are used in feature strings,
which should help with the size and time complexity of
(de)serialization.