make datepicker less zealous

don't show datepicker if there are relative strings there
system level cf default values support
queue level cf default values support
clear caches after each web request for tests(thanks to chmrr++)

considering that a txn's ObjectType is RT::Ticket, as we load the ticket object
in RT::Transaction::UpdateCustomFields(by calling $self->Object), it also
creates a ticket object cache(e.g. in ticket creation stage), which breaks
t/web/ticket_owner.t. in that test, the code is like:

    my $ticket = RT::Ticket->new( $user_a );
    my ($id, $txn, $msg) = $ticket->Create(
        Queue => $queue->id,
        Subject => 'test',
    );
    ok $id, 'created a ticket #'. $id or diag "error: $msg";
    is $ticket->Owner, RT->Nobody->id, 'correct owner';

    $agent_a->goto_ticket( $id );
    $agent_a->follow_link_ok({text => 'Take'}, 'Ticket -> Take');

    $ticket = RT::Ticket->new( RT->SystemUser );
    $ticket->Load( $id );
    ok $ticket->id, 'loaded the ticket';
    is $ticket->Owner, $user_a->id, 'correct owner';

so we first create a ticket in the test script process(which also creates a
cache), then take the ticket via web ui(which belongs to another process).
after that, in the test script process again, since there is a cache, the last
owner test fails(it loads the cached one).

this fix gets round this issue by clearing caches after every web request.
no need to clear these caches explicitly

because they are automatically cleared(after web requests).
see also 4376332
queue-level default values for priority/due

thus we can drop the old InitialPriority/FinalPriority/DefaultDueIn

because the schema changes happen first before the content change in database
upgrade action, we need to split the upgrade steps across 2 versions:

* in the first version, copy the columns' values into the new attributes
* in the second version, drop the columns.
queue level default value for Starts
Merge branch '4.4/default-values'