Uninitialized copy

This pull request 
 - adds the algorithms `parallel::uninitialized_copy`, `parallel::uninitialized_copy_n`, `parallel::uninitialized_fill`, and `parallel::uninitialized_fil_n`
 - adds the tests and documentation for all of the new algorithms.
 - does some refactoring of the parallel partitioners