Make PlainStreetEdge.setGeometry private.
Merge branch 'master' into geometry-optimizations

Conflicts:
	src/main/java/org/opentripplanner/routing/edgetype/PlainStreetEdge.java
Make StreetEdge.setGeometry() private.

This is our second time, after StreetEdge rename merge.
Add reverse mode to line string compacting.
Store reversed geometry for back streets.
Set correct back flag on split street edges.
Add ArrayUtils.deepEquals() for int arrays.
Add shareData() method to StreetEdge.
Share geometry in OSM graph builder.
Share reversed geometry on Shape file builder.
Use standard Arrays.equals(int[], int[]).
Remove duplicated primitive array compare.
Remove warnings in GraphIndex.
Moved unit testing to the same package as class.
Add getTransitStopForEnvelope() in spatial index.
Replace HashGrid implementation in GraphIndex.
Replace HashGrid implementation in IndexAPI.
Remove old/unused HashGrid implementation.
profile-analyst: resolve clusters to stops before lookup. put surfaces into cache for testing.

wonderfully, Map.get() has the signature V get(Object key) instead of V get(K key)
Merge pull request #1546 from laurentg/geometry-optimizations

Reuse geometry for back-edge when geometry is reversed.