Add a merge method for SourceInfos.

Also fixes a naming consistency nit.
Add useful methods to Stamps.

- Adds equals/hashCode to Stamp and Stamps.
- Adds a static method to merge multiple Stamps instances into one.
Add equals/hashCode to APIs, and deprecate groupBy.

equals/hashCode are useful for debugging/verifying/testing,
and the groupBy implementation is naive. It'll be replaced
by a groupBy implementation in Analysis that will handle
external/internal dep transitions correction.
Merge remote-tracking branch 'benjy/sourceinfos' into 0.13
Merge remote-tracking branch 'benjy/stamps2' into 0.13
Merge remote-tracking branch 'benjy/apis3' into 0.13