Fixed TestOpenBitSet.TestSmall

Fixed problems from Java->C# conversion for OpenBitSet's Fill and Set
methods. Found that Java's BitSet.Equals does a deep compare, while C#'s
does a reference comparison; added a deep equals extension method to
BitArray to support this case. We still need to modify occurrences of
BitArray.Equals outside of this testcase.
Fixed TestSloppyMath.TestHaversin

(int)Double.NaN is always 0 in Java. It's not guaranteed to be 0 in C#.
Modified the code so it's not dependent on this mechanic.