Always use case sensitive pattern comparison

Caught by Neil Kirsopp in this commit:

https://github.com/cursork/vim-clojure-static/commit/c0a25e91361d530c759d31817f2dae972bdeaf2f

It makes sense to default to case sensitive comparison as individual
patterns may be made case _insensitive_ with the `-c` flag.
Move 'lispwords' setting to ftplugin

The scheme filetype sets lispwords in its ftplugin, so we should set
lispwords in our ftplugin for compatibility.

This also prepares vim-clojure-static for the lispwords-global-local
patch I will be sending upstream as `setlocal lispwords=` effectively
resets lispwords to the global value instead of blanking it.

cf. issue #43

Finally, the new setlocal syntax is compact, which Bram always
appreciates.
Update Vim patching functions
Rename vim-syntax-keywords -> vim-keywords
Extract vim interaction to vim-exec
Add syntax performance benchmarks

With frak fork at:

    https://github.com/guns/frak/tree/public-escape-chars

Testing reveals that `syntax keyword` is ~2x faster than an equivalent
frak-optimized `syntax match` for the same words, and ~8x faster than a
naive approach using `syntax match`. Subjective experience matches these
results.

Clojure syntax highlighting is already a bit slow, so a 2x performance
hit is not really acceptable.
Allow for the syntax to be included in another

It is hard to include the Clojure syntax in another (for example, code
blocks in Markdown) because some regions use contains=TOP, which does
not work if there are other syntax rules.  Putting all top-level
elements in a cluster solves the problem.

[Committer's notes]

    This is a partial merge of
    https://github.com/guns/vim-clojure-static/pull/41
Generate clojureTop syntax cluster
Change vim-top-cluster to a function
Fix typo in docstring
Restore `syntax keyword` output in generate/vim-keywords
Update for Clojure 1.6.0-RC3

New keywords:
- some?
- if-some
- when-some
- hash-ordered-coll
- hash-unordered-coll
- mix-collection-hash
- record?
- unsigned-bit-shift-right

New lispwords:
- if-some
- when-some
Add update-project! fn to automate generate && replace
Update Pattern character property classes for 1.7.0_51
Update for Clojure 1.6.0

No functional changes.
Remove doall and dorun from clojureRepeat and lispwords

Removal from clojureRepeat:

    - These are not looping macros like doseq, dotimes, and while

Removal from lispwords:

    - These functions are not macros with binding forms
    - More in common with `take` than `doseq`
Execute core `syntax keyword` statements from a dictionary

Users can define their own simple syntax items by adding a 'clojure*'
entry in g:clojure_syntax_keywords or b:clojure_syntax_keywords.

The motivation behind this is to allow plugins to augment syntax
definitions and then reload them by resetting the syntax via:

    let &syntax = &syntax

This was inspired by TimL's dynamic highlighting feature.
Fix generate/vim-top-cluster
Update README for clojure_syntax_keywords
Merge update ns into generate

Separating them is inconvenient.