Add tests to ensure with is reflexive.
fix with(ERA) to be reflexive.

Putting the same ERA value as was current was actually changing to the
other era(! - assuming a 2-era calendar).
The change still assumes a 2-era calendar, but no long flips to the
other era in the event that it matches the current value.
Merge remote-tracking branch 'upstream/master' into with-unchanged