ProgrammerCommPort removed.
ProgrammerPort is now Programmer.
RxTxProgrammerCommPort is now just ProgrammerCommPort.
IntRange is now AddressRange.
Removed CommBuffer. ProgrammerCommPort now reads directly to Programmer (who calls what will be changed also).
The buffer fill code has been de-inside-outed.
Common now has less String, more Str.
Programmer has most Str constants extracted, can now take a list of Str as words in a command, does far less direct string manipulation.
Str can now join a List in the same way as an array.
Address range can now hyphenate itself in hex.
Added Po equivalents for int() and xrange().
HexFileParser's hex digit interpreter was replaced.
HexFileParser now reads a line at a time rather than a character at a time; this is both a better match for the file format and a better match for the typical python idiom.
PylikeFile now uses a buffered input stream and uses this to (very clunkily) simulate readlines() / for line in file.
Po.int_() was screwy because of its mechanism for supporting base 0 and rejecting numbers that could match the explicit base, if given. Removed that part since it's not being used.
MutableShortList now has a set() method for multiple indices at once. The existing readFrom() might be removed before long.
HexFileParser, apart from having been sorted a bit, now has a single method that extracts the useful bytes from a record and returns a short array containing the extracted data.
ShortSource now does readCopy(), which creates a new, sized `short[]`, instead of readTo().
Programmer reads to Str.
Minor syntactic update for DumbShortList.
ShortSink no longer supplies an offset parameter.
Programmer rewritten to do its I/O itself instead of through ShortSource/ShortSink—so they've been removed.
The implementation has been reworked to use Str instead of ByteArrayOutputStream.