Revising main Fannie install page to be a better overview or dashboard.

Added helper functions to handle creating form fields & writing form
input back to config.php. This reduces a bunch of duplicate code
and makes the install page [code] itself easier to read.

Also made some fields collapsable/expandable. Idea is that if e.g.
database connection was successful there's no reason to show the
fields for database credentials. Goal is to get as much useful
information onto the screen as possible so user can tell at a
glance if anything is abnormal.
Tinkered with column widths on Product List tool so that editing a
row doesn't re-flow the table as much. With a long list of items,
clicking to edit would sometimes shuffle the clicked row all the
way off screen.

Also address javascript bugs to avoid repeatedly adding edit
fields to the same row.
BUGFIX: skip issuing query with no database connection
Calendar Plugin: method signature needs to match to avoid PHP notices
Better error checking on file by email plugin