Change utree functions to take a utree as a parameter, instead of a scope.
Remove scope from Spirit, as it is application specific. Change utree's function
API to take function_base references and pointers by ctor/assignment operator,
instead of just stored_function<> instances, allowing users to derive classes
from function_base and use them with utree. Add an operator() to utree that
aliases utree.eval(), so that utree can be used as a function object. Allow both
a utree& and a utree const& to be passed as a parameter to a utree function object.