pulls various classes into own modules, supports arbitrarily large arrays (slowly, and with *huge* memory footprint)

Signed-off-by: Oren Leiman <oleiman@ucsc.edu>