Correctly generate errors in ClojureScript client code

 - The previous approach tried to use cljx in a macro, which doesn't work
 - Schema.macros has a correct approach based on checking the environment of the macro
 - Use that approach; this incidentally changes IllegalArgumentExceptions to RuntimeExceptions,
   but doesn't seem like a big deal.

@cpetzold @loganlinn @robert-stuttaford please take a look, and see if this fixes the issues you've been seeing.

See also: https://github.com/Prismatic/schema/issues/121