list possible groupings by date in a variable
switch over . joined grouping for date fields

we use regexp to parse it later with copied list of possible
functions, list grows, harder to maintain regexp.

Also, dot joined is consistent with TicketSQL and we'll need
Created.DayOfWeek = 'Monday'
use DateTimeFunction, new method in SB::Handle

we port our custom implementations of the following features
into DBIx::SearchBuilder

* timezones in DB
* extracting parts of DateTime columns using DB's functions
add searches by DateField.Xxx, for ex. Created.Day
delete split of FUNCTION into ALIAS/FIELD arguments

it was only way to write a function on left hand side,
now Limit in SearchBuilder has FUNCTION argumnt and we
can avoid this mispractice
convert not set dates to NULLs

introduce new NotSetDateToNullFunction method that generates CASE SQL
to convert not set dates to NULLs and use it in searches and charts
add users' fields to our %GROUPINGS hash
make it possible to search by day and month names

for example:
    Created.DayOfWeek = 'Thu'
    Started.Month = 'Jun'
store grouping properties by column alias
pass properties of our report to individual entries
upgrade DayOfWeek and Month to words in LabelValue
component to pick a function calculated in charts
Allow to pick chart's function and pass it around

At the end pass it into SetupGrouping, but there is
no implementation
implement Function argument in ChartGrouping
new @GROUPINGS, %GROUPINGS_META variables

* purpose like in TicketSQL
* handle grouping to function mapping
* handle sub keys generation
move value upgrade code into META
make SetupGrouping mandatory

* call _FieldToFunction asap
* use KEY/SUBKEY to store original FIELD value splitted
* no need in GroupBy and custom Column
* no need in continuouse split
store META and type around for re-use
Display function for grouping by Queue
drop code, it's now covered in libs

LabelValue method in ::Entry deals with it now