Merge pull request #29 from bmabey/master

fixes assert-iae, format now called properly and w/cljs friendly version
Update changelog
Add never-validate meta option
Small changes in support of new stuff
Add overloads to `utils/error!` that use ex-info

Callers can now optionally pass a map to `utils/error!`.  This map will
be accessible on the ex-data of the resulting exception `(ex-data *e)`.
Modify `s/validate` to pass a map to `utils/error!`

The map has three keys - the schema, the data and the error. It is
subsequently accessible by calling `ex-data` on the resulting exception.

This addresses #30 - becaues if the cause of our data is hidden in a long
sequence and truncated in the repl, like so ...

     (s/validate [Number] `[1 2 ~@(range 100) "bob"]) ExceptionInfo
     Value does not match schema: [nil nil nil nil nil nil nil nil nil
     nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil
     nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil
     nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil
     nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil
     nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil
     nil nil nil nil nil nil ...]  clojure.core/ex-info (core.clj:4327)

... all is not lost, for we can do this ...

     (remove nil? (:error (ex-data *e)))

... and find that it is "bob" that is the cause of all our troubles.

     ((not (instance? java.lang.Number "bob")))
Merge pull request #33 from danielneal/feature/validation-error-in-ex-info

Feature/validation error in ex info
Use ex-info for s/defn errors as well, keeping clean stack traces.
Prepare for next release
lein-release plugin: preparing 0.1.6 release
lein-release plugin: bumped version from 0.1.6 to 0.1.7-SNAPSHOT for next development cycle