BUG 3.2 Issues with CMSForm not consistently respecting new form naming scheme

This fix resolves issues first of all with `CMSFormTest` failing, but also consolidates the form ID / Name used by `CMSForm`. The default `Form::FormName` implementation already respects the set htmlID, and `CMSForm` was using the old methodology for generating form IDs, which was not even being used consistently. The `Form::getAttributes` method already generates the form ID ignoring the behaviour of `Form::FormName`, so it wouldn't have had much effect to override that method in `CMSForm` anyway. 

The result is that now `CMSFormTest` passes, `CMSForm` uses the new correct naming convention, and `FormName` is respected a little more in Form classes that might override it in the future.

All test cases were run and passed.