Re-enable the day() tests for refactoring.
Update day() to use datetime widget.

Update the day() method and its tests.
Handle null/true/false in datetime value handling.
Re-enable tests for month() method.
Allow names option to overwrite options for month picker.

This is a feature FormHelper currently offers, maintain it in the new
implementation.
Get month() working with the new widget class.
Re-enable year() tests.

Remove duplicate tests and tests that are no longer valid. Values of '',
and `false` will now select the empty option.
Fix ordering. I got desc/asc backwards like I often do.
Update year() to work with the datetime widget.
Refactor duplicate code into a method.
Fix missed case for midnight in 12 hour format.
Fix errors in 24 hour time generation.

24 hour clocks go from 0-23 no 1-24.
Update hour() picker to use datetime().
Unskip tests for minute().
Update minute() method to use datetime widget.
Update meridian() to use datetime widget class.
Remove code around handling datetime inputs.

This code is not needed in FormHelper anymore, remove it.
Fix coding standards errors.
Merge pull request #2890 from markstory/3.0-datetime-methods-pt1

3.0 datetime methods pt1