Updating nanopass to support vicare.
Compiled iota.kfc using Vicare. (#11)

There are some pretty nasty hacks, and some functionality doesn't work. Also, the Chez/Vicare-specific code should move into a compatability library so we can hopefully keep compatibility with either.
Add a new error reporting macro to get better reporting when OpenCL calls fail in the runtime.
Following the OpenCL standard more closely for clGetDeviceIDs.
Allow invoke on match expressions. This chunk of code really needs to be refactored.
Match caller and callee regions correctly. This avoids errors saying a function needed 4 parameters but only got 3, for example.

Also, disabled grammar verification, as the nanopasses are providing a lot of this verification for us now.
Region variable passing is fixed, so this test works now.

Fixes #95.
Update elegant weapons to put __global before the type name. (Issue #107)
Rephrasing typedef to try to make this work on Travis CI
Another attempt at making Travis CI work (#107)
Parser no longer accepts return. Fixes #90
Use __local pointers into the stack. Fixes #108
The stack actually lives in the private address space.
Test both CPU and GPU in Travis.
Travis doesn't actually have GPUs, so don't try to use them.

Revert "Test both CPU and GPU in Travis."

This reverts commit 9eebaea2c2281d9896f499ecfe32e20421007060.
Added another nanopass language to put remove-complex-kernel-args before lower-vectors (#105)
Pruning parsers to hopefully reduce memory usage.
Box complex kernel arguments. Fixes #105, fixes #109.
Added a test case for issue #56. This isn't quite sufficient to expose the bug, but it's a start.
Allow more things as invoke targets.