Rewrite long long in user kernels in OpenCL

This is necessary for the coming change to the way we build linear
algebra operators.
Use par_loops to implement linear algebra operators

This way, we get on-device linear algebra, rather than necessitating
copies back to the host.
Merge pull request #248 from OP2/on-device-linear-algebra

Use par_loops to implement linear algebra operators

This way, we get on-device linear algebra, rather than necessitating
copies back to the host.