Add test for the various ways of specifying the function.
Add helpers not_in_place and n_ary, to handle other ways of specifying f and g.

Closes #2
Add helpers for the cases where only fg! and possibly f! are available.

Closes #4
Add travis script.