comprehensive compute tests

Sets up a suite of comprehensive tests against a variety of backends.  Fixes various errors that were exposed.

This PR can be most readily understood by looking at the source of https://github.com/mrocklin/blaze/blob/compute-comprehensive/blaze/compute/tests/test_comprehensive.py which is relatively simple.