Reuse geometry for back-edge when geometry is reversed.

This should address #1511.

Results for an example street-data only graph:
         Graph size
         (mem)      (disk)     Gain %
    A    117502000  50288000
    B    111162000  45280965   5.4%
    (number of StreetEdge 354071)

A - Original version
B - With shared reversed geometry

Coincidentally, I'm just implementing a deepEquals method right now, and this doesn't look like one. It's more like an arrayEquals method. Of course, a primitive array can't contain other arrays, so the implementation isn't really incorrect, but the name is a bit misleading.