Patch Set 4: I would prefer that you didn't submit this

this is the new dirchachecheckout working for four iterators (including a WorkingTreeIterator).
There are still a few tests failing (thats why I give myself -1) and some of them because I think the tests are wrong. The tests where written originally for WorkDirCheckout and worked in that environment but fail when testing DirCacheCheckout.
I recommend that the comments in ReadTreeTest.java which I added for all failing tests should be reviewed to get a clear picture about the semantics.