Actions no longer accesses App.Options directly.
Block moved out of HexFile, slight encapsulation added.
Renamed the remaining "it" iterators from C++.
Isolated (most) block twiddling behavior from the rest of HexFile.
SparseShortList consists of the parts of HexFile dealing with the sparse array of words.
Block moved into SparseShortList.
IntPair is now IntRange. The old name was a misnomer.
Replaced (most) instances of int start, int end parameters with IntRange. This is intended to aid in the conversion of indexed operations from end-inclusive (which is not so common in current software idioms) to end-exclusive.
Replaced several several direct usages of IntRange members with their semantic equivalents. In particular, the range is internally no longer [start, end] but [start, post), and end is computed as post - 1. Already many operations have been replaced with simpler equivalents.
Nearly all usages of IntRange.end() have been eliminated. The number of excess "+ 1" and "- 1" has gone down considerably.