fix tests from previous patches, rename stream_sink to stream_writer
klusters_import can restrict to specific units or groups
spike_feats now waits until all spikes are in before generating chunk
kluster.cc: fix a pretty serious bug in sort_unit where read of clu file was off by 1 line

NB: this function wasn't used in mspikes 2.2; sort_unit_episode was, which read
the first line of the .clu file before calling getclusters. getclusters()
returns the file pointer to the location before it was called, so the reads from
.clu and .fet would have been in sync
mspikes script keeps toolchain modules in order so that positional commandline arguments order is retained
move natsorted() to mspikes.util
provide __str__ for datablock, simplifies log message construction
massive simplification of arf_reader and arf_writer logic

arf_reader doesn't try to infer the creator of the file; instead a separate
class figures out the sample count and sampling rate if they're available.
arf_writer now has separate functions for each type of data chunk.