Date select filter

This pull request refactors the callback filters used in date and date time select form elements into concrete filters. This allows the filter to be reapplied when the user is using annotations and sets prefer_form_input_filter to true (as is done by default by Doctrine's form annotation builder) fixing a bug with validation.

As a bonus, the filter also contains flags to return null if the data select is empty (currently, empty selects return a string of -- or -- ::) The Date validator has also been updated with a flag to allow for this new behaviour.
I'm sure I had a good reason for them to be binary at the time, but I can't remember what it was: on review it would make more sense for them to be boolean.