Fixed return type deduction for user functions

refs #53
The Boost.Preprocessor version of UserFunction lacked definition of
value_type.