Misc cleanup
Raise exception if stream cannot be found
Support bare keywords as values to :env-{only,exclude}

Don't freak out if someone doesn't wrap value sent to :env-only or
:env-exclude in a collection. Passing `:a` should have the same effect
as passing `[:a]`.
cleanup - no need to convert streamspec args to keywords yet
Support detection of cyclic deps with wildcard loads

Support detection of cyclic dependencies even if user does a wildcard
load and only provides the namespace.

Also moves keywording of the fully-qualified streamname into the
def-stream macro. This should improve testability by reducing the amount
of boilerplate necessary.
Support complex stream specification

Support passing streamspecs (stream specification) as arguments in a
streamspec, and resolving them recursively. For example:

    (a/stream :a :b b/stream (c/stream :c (d/stream :d 1 2) :e))

where `a/stream` `b/stream` `c/stream` and `d/stream` are all stream
specifications.
Start adding unit tests for tensor itself