ensure-class now handles a closure arg arity > 0.

Previously when passed a closure of arity greater than one ensure-class
crashes with an ArityException when it calls the closure. However, the fact
and fact-not functions also return closures, but with arity = 1. The can
easily (but incorrectly) be used where a class might be expected, so a better
crash makes sense.

The ArityException is caught, and an IllegalArgumentException is rethrown.
tawny.owl namespace no longer used directly.

Previously the tawny.owl namespace was being used directly. This has to be
changed in anticipation of the introduction of an is function into tawny.owl
which clashes with the is macro of clojure.test.

tawny.owl references are now aliased and namespace qualified.
owl-not overloaded for facts, is function added.

Previously, the fact-not function had to be called directly. owl-not
can now be used instead which delegates its functionality to fact-not.
This is consistent with object-not and data-not. And is function has been
added as a counterpart to owl-not for cleanlineness.

To achieve this, the old owl-not multimethod function has been renamed to
owl-not-one (and made private). A new function called owl-not has been added
which is simply overloaded on arity -- one argument calls the multimethod,
two arguments calls fact-not.

The is function is a simple alias.