new API for TxReportQueue (fixes #128)

make an idiomatic version of the read size of the java.util.concurrent.BlockingQueue interface.
So, `CanBuildFrom` is a type function from input representation type and output element type to output representation type. The implicit search can find the unique answer (instance) given the input collection and the codomain of the transformation being applied.

The fact that it is actually a function, as opposed to just a relation, is by convention, right? (You’d get ambiguous implicits if it were a relation and the output representation type was unconstrained.)

So `breakout` is akin to a function that takes the output element type and the output representation type, and produces a type function that ignores its argument, the input representation type? (Hmm… sort of? not quite sure about that…)

So the implicit search is guided by the context of the expression (the expected type) as opposed to the expression itself…