'traces' support for user-defined reduction relation applications

Add a new #:reduce argument to traces (and traces/ps) that defines the
function to use when applying the reduction relation.  This way a
function could selectively display some subset of possible reduction
traces instead of all (e.g., a random one;
https://github.com/plt/racket/wiki/Redex-Features)