Fixed issues with boost's result_of on visual studio.
Added a move_on_copy utility that will be  used until we have a C++14 compiler.