Implemented alternate export formats

New formats are CSV, TSV, and JSON.

These really ought to be optimized before using them to export
massive quantities of data, but they work well for small tables.
Encode JSON row-by-row to prevent massive memory usage

The JSON encoder would build a string of all records which I then
write to a file handle which was actually going to an in-memory
string as well, resulting in memory usage of the total record set
times 3.  In the long run we want to stream them anyway, so I
updated the code to iterate rows.

Also, it now filters out columns that the user shouldn't see, like
the auto-generated primary key.  This is perhaps the more important
change.
ExcelExport sub-menus no longer close when clicked

I added the ExtJS hideOnClick=0 attribute so that clicking a
submenu opens its submenu instead of closing the entire menu.
Fixed typos / grammar in Bootstrap.pod
Merge branch 'master' into export_csv_tsv