Put Binder monad in its own module.

Also moves copyConsumed from Internalise to Tools.
Change some Tools imports to Binder imports.
Add foldBinOp convenience function.
Work on bounds check splitting... this is a mess.
Add IsValue typeclass and convenience functions.