Reimplements clj bestiary rules in cljs.

core.logic does not yet support finite domains in the cljs port.
Instead of porting over finite domains to cljs, this change just
rewrites the rules in straight forward functional style.

This is the first step toward porting the whole app to cljs as
running these operations on the server on the open web seems
foolhardy at best.