A new rebasing API.

Review Request #2154 — Created May 3, 2015 and submitted — Latest diff uploaded

patricklaw, stuhood
- Matches the new (and more efficient) rebasing functionality in zincutils.
- Makes JMake analysis rebasing fit this new model.
- Adds a basic unittest for JMake analysis manipulation, finally.
- Gets rid of __eq__ and __hash__, which were both broken.
- Replaced with an is_equal_to method for use in tests.
- Introduces optional sorting of items, for ease of testing.

CI passes: https://travis-ci.org/pantsbuild/pants/builds/61062182

Did some java and scala building with artifact caching turned on and manually verified that the cached analysis files were properly relativized, and that the ones read back from the cache were properly localized.