On-GPU allocation of vectors. Fixes #67.

I'm breaking my rule of only checking in code that passes all the tests. I suspect these are OpenCL bugs, not cases where we are disobeying the spec.
Change make-vector into a macro that generates kernels that we can optimize.
Report more accurate timings on BFS.