#17 default export file name should be character name

* follow implementation of #6
* create a class to encapsulate file-related code that is common to all exporters

Also:
* output 500 status if export fails instead of blank file