3.0 form container template

This set of changes renames a few of the templates (better names are welcome). It also adds the ability to have per input type containers that developers can use to make the HTML generated by input() vary for each input type.  This change was initiated by the discussion in #3651.