Add optional error message for OpenCL Errors
Add error handling for OpenCL buffer creation
Add OpenCL buffer chunk size calculation
Add number of actually used OpenCL devices
Do not use unified memory any more

Since we're targeting primarily GPUs and a unified memory option would not be beneficial when using potentially many OpenCL devices we don't support unified memory any more
Fix unit tests for buffer chunk size calculation
Use vectors of OpenCL device buffers
Refactor OpenCL buffer synchronization between host and devices
Create OpenCL device buffers according to chunk sizes for each device
Make OpenCL reduceMaximum more event based
Prepare X-Sweep and reduceMaximum for multiple OpenCL devices
Copy net update buffer edges after X-Sweep
Prepare X-Sweep update unknowns for multiple devices
Copy updated variables after update unknowns (X-Sweep)
Prepare Y-Sweep net updates for multiple devices
Prepare update unknowns (Y-Sweep) for multiple devices
Prepare setting of boundary conditions for multiple devices
Fix accessing buffer vectors
Improve error handling
Fix incorrect kernel argument type