[ticket/12556][WIP]Custom Profile Field type date has inconsistent format

At the moment Custom Profile Field type DATE is saved in the DB
in the string format of d-m-Y where the leading zero to the days
and months are not written to DB.

The DB column in the DB is of the type VARCHAR.

This creates an issue when we want to search date range in the
Custom Profile Fields as the DB engine doesn't recognize the dates
as dates, but as arbitrary strings.

- [x] Change DBMS field type from VCAR:10 to DATE
- [x] Change string so it can be set in DATE type field
- [x] Change string input in test
- [x] Add support for dates without year
- [x] Make options for dates without year
- [x] Better date validation
- [ ] Make tests for dates without year
- [ ] Make migration for existing type_date fields
- [ ] Migrate ```phpbb_users['user_birthday']``` to date

PHPBB3-12556
This expression is too complicated.