Standardize on `-` separated lowercase IDs

All of the generated classnames and IDs should be consistent. This is
not compatible with previous versions of CakePHP, but has the benefit of
allowing a single convention to be remembered. This convention is also
shared by most CSS frameworks as well.

At some point in the future generating IDs might be pulled out into
a separate method that can be overridden.
Start multi-checkbox rendering.

Add simple multi-checkbox rendering like 2.x had.
Add support for checking checkboxes.
Add support for disabled attributes to multi-checkbox.
Add tests for escaping name + value.
Remove complex rendering.

There wasn't a complex option type in 2.x, so there isn't much reason to
add it.
Add additional disabled tests & doc blocks.
Add tests for complex input rendering.
Add additional information about complex type data.
Remove unnecessary use statements.
Allow StringTemplate::__construct() to take templates.

This saves a line of code when using templates that have already been
loaded.
Use StringTemplate constructor in test cases.
Use StringTemplate constructor.
Fix CS error.
Merge pull request #2659 from markstory/3.0-multi-checkbox

3.0 multi checkbox