sorter: change algorithm to speed up massively

Rather than constantly seek()ing the file, we buffer it all into an
array and do it in-memory.  This approach uses up to 3x more memory,
but in practice it's less due to the fact that the array is dynamically
allocated rather than a static 16-megabyte chunk.
nand: update to work with novena tapboard

There are little things that are different, such as ALE and CLE being
swapped.  Also, we assume that we don't have to remap pins anymore.
tapboardprocessorprivate: make more robust against crashes

THe tapboard processor will be more robust against crashes, as it now
checks for eof conditions more frequently.  This can happen with corrupt
tbraw stream files.
grouper: in-progress adapting to novena tapboard

This patch limits the processor to 2000 events.  It is an in-progress
adaptation to the new Novena tapboard format.