some refactorings, added ComparableBitSet.java with stable lexicographic ordering