Fix bad chars / overlong names of sheets.

We used to allow any ol' characters in sheet names and sheet names
of any length. Now, we limit to 31 chars and we replace :/\?*[]
with an underscore (_). Previously, files that included sheets
that had these chars would not even open in Excel. Long names would
cause a warning, but they'd still open. Things were always working
on open office, but sometimes you gotta support the real thing.