First pass at getting the on-the-fly processing to work.  This also includes more cleanup of the code by moving reused bits into their own modules.
Fixed a few bugs that stopped rtl_osv21.py.