Move ModeDef and related bits from shinysdr.receiver to new shinysdr.modes.

This makes shinysdr.receiver a more purely “internal” module, and in the
event of modulator/transmitter support, or other aspects to modes other
than demodulator blocks, will let them fit in better.
Make MultistageChannelFilter interpolate.

There appears to be something not entirely right here -- a slightly off
output sample rate -- but I haven't tracked it down yet and this is
better than the old behavior of an exception from the guts and producing
an extremely wrong sample rate causing overloads.
Test MultistageChannelFilter actual output rates.