Public escape chars

Hi @noprompt,

The commit messages provide the details and rationale, so here is an executive summary:

- `string-pattern` accepts a new option `:escape-chars` so that users can
  specify their own sets of regexp metacharacters

- The option value can also be a keyword matching a value in the new
  `frak/metacharacters` var, which has a new `:vim` entry alongside
  `:default`. Other possible candidates for future inclusion include
  `:posix-basic`, and `:posix-extended`

- The implementation uses a private dynamic var, just like
  `frak/*capture*`

- `-E/--escape-chars` is added to the CLI for access to this option

- frak.cli is upgraded to use the latest tools.cli, which also
  necessitated a rev of the `lein-cljsbuild` and Clojurescript deps
  (sorry; I don't usually touch deps in PRs)

I think I was able to follow the existing convention for handling options, but like I said before, there are lots of ways to do this. I won't be offended if you decide to do implement this differently.

It doesn't look like we'll be replacing the core var matching statements in [vim-clojure-static](https://github.com/guns/vim-clojure-static/pull/41#issuecomment-35494736), but I definitely plan on using frak in other vim plugins.

Cheers!