Force PredicateBase to pass value by reference to VOODOO_TO_STRING

VOODOO_TO_STRING is translated to CxxTest::traits(x).asString().
Without forcing reference using std::ref, gcc uses CxxTest::traits< T >
instead of CxxTest::traits< T & >.
When using movable only types like std::unique_ptr, this causes a
compilation error.