Pull state reporting changes into 1606_ox branch

Really minor thing, but I wouldn't make the TraversalOutcomes channel an exported field.  The reason is that to consumers of Reporter, it is read-only.  No one other than Reporter should ever be able to read from that channel.

I've never actually known how to properly handle this, but this [StackOverflow thread](http://stackoverflow.com/questions/13596186/whats-the-point-of-one-way-channels-in-go) was enlightening.

Here is an example of using that: http://play.golang.org/p/Deh9SY9udY

I have never used this, but I'm going to start now that I know about it :)