Add DjbletsJSONEncoder for lazy string and datetime serialization.

We had two places where datetimes were serialized to chop off the
extra precision. Turns out we needed a third, for json_dumps. These
other places also didn't know how to handle lazy strings, which only
json_dumps knew how to do.

There's now a DjbletsJSONEncoder that can take on these
responsibilities. BasicAPIEncoder, ResourceAPIEncoder, and json_dumps
now make use of this instead of DjangoJSONEncoder.