Pass through correct parameter for user paging to work
Prompt to fix Owner, like other user columns

Fixes [issues #28403].
Autocomplete email addresses on Forward page

Resolves [issues #28441]
Allow tables if HTML::Gumbo is installed

HTML::Gumbo deals with ensuring that content cannot "escape" from the
context that RT frames it in, by (for example) not allowing </td></tr>
if the content has not opened its own table.  HTML::Gumbo has an
HTML::Parser-like interface, but it is not quite close enough to serve
as a drop-in replacement -- and the structure of HTML::Scrubber would
not make such a substitution easy.

As such, pre-parse the HTML content using Gumbo, if available, as a
pre-parsing step before HTML::Scrubber.  This enables <table> tags and
their ilk to be enabled without posing a security risk.
Allow additional CSS rules for borders and padding
Document that RT scrubs HTML, and note that HTML::Gumbo loosens those slightly
Require newer Email::Address::List to prevent denial of service

Email::Address::List contained a regular expression which was
susceptible to a quadratic-time increase in runtime on some
incorrectly-formed strings; this allowed constructed emails to subject
RT to a denial-of-service attack.  Require a newer version of the
module, which alters the regular expression to no longer contain such a
pessimized case.

This resolves CVE-2014-1474.
Refactor Results.tsv to allow export of arbitrary collections to TSV
Provide a default value for Category on External CFs

If the hash passed to ->LoadFromHash does not contain a key for
category, any code which later calls ->Category on the object will turn
around and attempt to ask the database.  This is precisely what
EditCustomFieldSelect does, of course.  For External CFs, this is both
slow _and_ wrong -- it will always ask for CustomFieldValue id #1, and
will do so repeatedly, for every external CF value provided.  This
incurs a significant performance penalty on ticket creation and updates,
as listing the full set of external values suddenly incurs hundreds of
extraneous database queries.

Ensure that a value for category exists for all external CFs, to save
the erroneous trip to the database.
Add autocompletion to link boxes on Bulk Update
Remove vestigial $ShowMerge, which should have been removed in 4f133c4b

That merge commit removed resolved a conflict to remove uses of
$ShowMerge, but not its presence in <%ARGS>
Move esacping closer to where it is relevant
Stop caring about word boundaries during ticket autocompletion

Rather than use \b to help split on what to search for, use a greedy
regex that matches as many space-separated ticket numbers as possible.
This solves problems with autocompleting "4.2.0", for instance.

Resolves issues #25755.
Abort if there is nothing to search for

It is now possible for $term to be empty -- for instance, when
autocompleting "1 2 3 ".  In such cases, don't search at all, merely
abort.
Set the logo attribute as the current user

This assures there is a useful LastUpdatedBy in the database
CSS fix that lets Firefox flow the data table below the chart

Add the fix from cd0e710b103bb5b23deb32b9dac31f1c1eedaa92 also to rudder.
don't trigger default warning handler for inline servers

we already handle server warnings in StashWarnings middleware, so it's not
necessary to do so. without this, under TEST_VERBOSE=1 mode, those warnings
will be bubbled up to Test::NoWarnings handler, which could cause
Test::NoWarnings::had_no_warnings() to fail.
Allow downloading 0-length files if they have a name

Resolves I#9050
remove diag call in RT::Test::file_content

the main reason to remove it is it causes t/web/cf_access.t to fail no
warnings tests under TEST_VERBOSE=1 mode. the warning is like:

    Name "RT::Test::TODO" used only once: possible typo at .../Test/Builder.pm line 2244

though we can also get around it by increasing $Test::Builder::Level in
RT::Test::file_content or never call file_content in compilation stage(e.g. in
a BEGIN block or "use constant ..."), imo it doesn't worth it.
check both of "-Values" and "-Value" to find default values in ValidateCustomFields

in 4b21442, we refactored cf input name into a sub, which caused select cf
current values "not selected" when cloning a ticket. see also #29751.

turned out that we hardcoded "-Value" in the clone code before, which is not
consistent with the cf default name. 4b21442 reveals a potential bug that we
missed to check "-Values" in ValidateCustomFields.  this commit completes the
check(i.e. to check both "-Values" and "-Value"), like what we do for
$DECODED_ARGS in EditCustomField.