Merge pull request #2 from mlang/master

Fix implicit and unwanted copying and use two already existing typedefs.
std::list<>::remove_if and std::mem_fun_ref reduce heap::gc to a one-liner.