Get backends and their supported computations

Addresses #684, in part. `get_backends` returns a dictionary mapping the backend package to its version, while `get_compute_support` is a dictionary mapping the an `Expr` to its supported backends.

 I didn't get too far into things because I had a couple of questions:
* Is this still wanted?
* What backends should `collections.Iterator` and `ChunkIterator` be?
* What kind of interface should this functionality have?

Hope this helps.