Export functionality

I'm starting to work on making exporting happen. Not at all ready to merge - I'm just curious what you think.
Please roll back all format-only changes.