Put offline cache into a subdirectory of hashed path
Intermediate commit

Starting to move source generation to backend/opencl/source
[WIP] Introducing backend/opencl/kernel.hpp

Most of the tests work. Still need to figure out what to do with spmv or
stencils.
[WIP] Moved to backend::source_generator where possible
Format macro definitions with clang-format
Commented out spmv/stencils from tests
Compile what's possible in examples
Fixing generator test
Fix formatting in reduction
Fixing Boost.Preprocessor code
Undef temporary define
Get latest spmat from master
Include <vexcl/vector_pointer.hpp> by default
Set workgroup size to 1 for CPUs
Use source_generator in spmv
Generalize reductor kernel
Added compile-time backend selector
Use source_generator in stencil convolution
Included missing backend.hpp
Make vex::tag and vex::make_temp return const values

Fixes #75