Make tests more robust to changes in iteration order.

I was seeing some test failures due to assumed iteration order of the `out` and `in` methods. I added explicit ordering to the one test that needed it, and updated the other tests to assert on result size & values in a set, instead of for explicit values.

I think this is correct - there's no defined ordering for nodes, right?

lmk if you want more info to reproduce. I'm running:
```
$ java -version
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
```
on OS X 10.9.4.