Support backslash escape of splitting character in optargs

This should not affect calling from Clojure or the REPL.

- For example, the sift task takes a --move option whose optarg form is
  MATCH:REPLACE, so you'd call it like

    boot sift --move '^foo:bar'

  to move files like foo/asdf/quu.x --> bar/asdf/quu.x. However, the
  colon character (:) is meaningful in Java regexes...

    boot sift --move '(?:f)oo:bar'

  The first colon would cause the split to happen there instead of where
  it should be done.

  This commit adds support for backslash escape of the splitting
  character in the first part of the optarg:

    boot sift --move '(?\:f)oo:bar'

  Note that escaping is only done in the first half, since the splitting
  only happens for the first unescaped split character found.