DJSON-11: Fix printing of unnecessary commas with value-fn

Adds state to loop remembering whether any key/value pairs have been
printed before, to distinguish whether to print a comma or not.

Changes test case to use sorted-map, both for determinism in the
order, and to exhibit the bug with the uncorrected version of
write-object.

Signed-off-by: Stuart Sierra <mail@stuartsierra.com>
DJSON-9: Optionally escape special separator characters

Even when :escape-unicode is false, users may want to escape the
Unicode separator charators U+2028 and U+2029, which are valid in pure
JSON but not valid in JavaScript strings.

See http://timelessrepo.com/json-isnt-a-javascript-subset

Original patch contributed by Tim McCormack.
Clarify docstrings for :value-fn

See comments on DJSON-12, especially:
http://dev.clojure.org/jira/browse/DJSON-12?focusedCommentId=31605&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-31605
Remove extraneous whitespace in docstring