Added source root tests, updated the internal data structure to include a tree.

Added source root tests, updated the internal data structure to include a tree to speed up the find() operation.

With 1000+ source roots in our environment, this appears to shave about 5 seconds off of a no-op build.

Testing Done:
Retrofitted tests for SourceRoot.
Added new unit tests for SourceRootTree data structure

CI passed at: https://travis-ci.org/pantsbuild/pants/builds/34713735

Bugs closed: 556

Reviewed at https://rbcommons.com/s/twitter/r/1003/