Refactor common datepicker options
Easier date selection through datepicker options

This enables selection of dates outside the current month, adds a
shortcut for "today", and provides dropdowns for quickly changing the
month or year.
Replace timepickr with a new one that is well integrated into the datepicker

Sliders are used for the hour and minute, with a five minute step
interval.  By hooking the slider widgets, we can fake stepping and still
allow arbitrary, unconstrained input in the text field.
Add the new timepicker and jQuery UI JS to our third party sources

The actual timepicker JS isn't minified in share/html/NoAuth/js, so I've
just added a source for it in the README.
Test ticket date submissions in Jumbo
Test adding watchers in Jumbo
don't expand the ticket if it's expanded before.

this change reduces links and keeps ui clean when relationship is
complex or weirdly circular.

see also issue #19015
don't check user pref "UseSideBySideLayout" in css files

we can't use user preferences in squished css because it's cached.
the first user to hit the empty squished CSS cache will cause
every user thereafter to inherit their UseSideBySideLayout preference
(until the child is reaped and the cache clear agains)
sidebyside layout test
Position anchors in history so the transaction summary line is visible

Previously the anchor was about ~1em below the top of the row, meaning
the date, actor, and summary of the transaction were hidden just above
the top of the browser viewport.
The "lasttrans" anchor should be invisible and take up no space

Otherwise the latest txn's span.type chiclet became twice as high,
jumping out of it's row and displacing the next.

The browser won't jump to the anchor if we simply "display: none;".
Don't shift the datetime picker up if it would hit the bottom

Shifting it up weirdly covers up the input and sometimes runs into
z-index problems with the aileron menus.

The datetime picker now extends past the viewport bottom and will push
the page taller if it hits the page bottom.  This requires a short
scroll, but is preferable to inconsistent and awful looking alignment
otherwise.
If the CreateTickets template isn't valid, tell the admin

The way this was coded, if you screw up your 3 equals or don't have a
tsv/csv template, nothing silently happens.
not set charset in content-type if the attachment is binary
run rt-test-dependencies again to get conclusion right if with --install

some dependencies seems can not be "used" successfully after first "use"
failure.  we can run the command again to avoid this situation.

see also #19424
$args{Field} could be a cf object

we pass cf object to $args{Field} least in /REST/1.0/Forms/ticket/default
force to use rawprint to show ticket links

because prettyshow doesn't handle links output
test show links from cli without specifying format
use multipart/form-data as queue could have upload custom fields
Enable LastUpdated on Scrips by not walking around RT::Record->_Set

75ad51c, as part of a "security audit," moved RT::Scrip's ->_Set method
to call ->__Set, rather than ->SUPER::_Set; this means that it skips the
functionality on RT::Record->_Set.  This skips the call to
->SetLastUpdated, causing all Scrips to never update their LastUpdated
ot LastUpdatedBy columns.  Less importantly, it also skips the code
which makes the return message explicit as to the values which changed;
while not strictly a feature in this case, it is at least consistent
with Templates and the like.

Revert to calling ->SUPER::_Set, so Scrips' LastUpdated columns are kept
up-to-date.