Moved range overlapping operation to IntRange.
Block ctor with range
PortBlockIO now implemented directly on port.
Refactored some of the record reading code. Named the record type constants.
HexFile no longer opens its own output files.
Parts that loop through the three memory regions are wedged into a foreach syntax. It may be a little ugly in Java, but it should port nicely.