Add a cljc.core/re-partition modeled after clojure-contrib/str-utils.

Original idea taken from clojure.contrib.str-utils 1.2.0, and then
heavily modified.

Documentation string was taken from clojure.contrib.str-utils 1.2.0.
Implement string/reverse with g_utf8_strreverse() when available.
Add string/index-of (similar to Clojure's .indexOf).
Add cljc.string/replace, re-quote-replacement, and some initial tests.

Documentation string was adapted from Clojure 1.5.