File copying class that reports progress and allows copy operations to be cancelled