Homogeneize copy, improve error message of cast
This MR homogeneizes the copy operator by removing the previously special case of copying to a host buffer. Now, a copy to a host buffer can be made by using the span
version:
Allen::copy_async(host_buffers.host_dec_reports.get(), get<dev_dec_reports_t>(arguments), context, Allen::memcpyDeviceToHost);
This MR also improves the messaging of incompatible casts between Arguments.