Make --map-when accept a predicate function instead of a form

This makes it look a little cleaner:

    (list (--map-when odd? (* it 3) [1 2 3 4 5]))