yootil.remove

If the __remove function is too complicated/confusing or not needed I can just simplify things.
No throwing, mainly for consistency as it's not used throughout the code.  I see the reason for it, but if we really want it in, then it needs to be added in other places as well.