Meta functions no longer require copying.

The meta functions no longer has to make a copy of the functions they
contain. Passing in a reference is now valid.
Added the possibility of explicitly creating a copy with the make_copy
function.
Changed the name of composition and compose to pipe_t and pipe, which
better reflects the functional nomenclature.
Improved the makefile.
Simplified notation

Simplified the template parameter notation.
Tested removing explicit constructors in the classes holding functions.