Further improvements of current functor implementation
- implement >= and > in terms of <= and < to reduce the number of types required
- move PreparedFunctor to internal prepared_type to clarify it is an internal type not to be used by 'other code'
- move prepared call into prepared_xxx functions to simplify argument forwarding
- move optional handling of prepared functors to prepared wrapper to reduce the number of places where this has to be dealt with
Edited by Gerhard Raven