N3960 hpx::parallel::copy implemented and tested

I currently have a working version of `hpx::parallel::copy` as well as a base test in `copy.cpp`. Everything compiles and there should be no errors, hopefully everything is _untabified_ as I went through making sure. 

I still need to create tests for testing `exception` and `bad_alloc`, but I need to brainstorm on how to do this as I can't just pass a lambda into `hpx::parallel::copy` like the other algorithms