Add `metapartial` and generalize `partial`
Add `metapartial` and generalize `partial`

The return value of `partial` can now be used to (re-)bind further
arguments. `metapartial` is like `partial` but it does not get the
function to be used as the first argument.

coldfix/black-magic