Bug fix: Tree find() didn't look for files deeper than two levels

The split() function basically truncated everything after two levels. What we needed to do was to get the head and rest of the path components.

I suppose I could use unshift() here, since doing .join() would be O(n) anyway. Let me know if you think that'd be cleaner to do.

Also, I did write tests for it, but I wasn't able to update the test fixtures appropriately to reflect a deeper dir hierarchy. So while the tests pass, none of the test fixtures have something 3 layers deep. Should I add another one?