Merge pull request #109 from krisajenkins/master

Added s/Symbol as a primitive schema type.
Make schema.core/recursive work with any IDeref

This patch extends the behaviour of schema.core/{Recursive,recursive}
enabling them to work with any object implementing clojure.core.IDeref.

Thanks to this change it is not required to introduce a var to define a
recursive schema. This in turn allows to

  - avoid defining a var per each recursive schema, and
  - create recursive schemas by using let bindings exclusively without
    any details leaking into the namespace level bindings.

Now recursive schemas can be built on top of promises, atoms or custom
reifications of IDeref.

The existing behaviour remains intact.
Be more specific in Recursive's explain function

If the derefable object is not a var use its class name and
identityHashCode in the return value of schema.core/explain.
Merge pull request #110 from jstepien/recursion-with-any-ideref

Make schema.core/recursive work with any IDeref
Conditional compilation actually based on the target, not just presence of cljs
Merge pull request #113 from Prismatic/fix-compiling-cljs

Conditional compilation actually based on the target, not just presence of cljs
lein-release plugin: preparing 0.2.4 release
lein-release plugin: bumped version from 0.2.4 to 0.2.5-SNAPSHOT for next development cycle
Remove unnecessary macroexpand call from letfn
Pull out normalized-defn-args helper fn for defining schema macros (fixes #54)
Merge pull request #118 from Prismatic/name-with-attributes

Name with attributes
schema anon fix
Remove uses of assert-c! and simplify docstrings now that conditional expansion works properly
Add deprecation warning to assert-c
address comments
Merge pull request #122 from Prismatic/fn_schema_fix

Add support for unnamed anonymous fn output schema
Merge pull request #123 from Prismatic/simplify-error-handling

Remove uses of assert-c! and simplify docstrings now that conditional expansion works properly
Added notes on AOT compilation
Merge pull request #127 from mowat27/master

Added notes on AOT compilation
Change all usages of fn? to ifn? so {} and other IFn fit fnSchema