Detect auto-generated mail correctly when there are multiple Precedence headers

Example in the wild of multiple Precedence headers includes:

    Precedence: never-bounce
    Precedence: bulk

When $head->get() is called in scalar context, only the first value is
returned.  Instead, return true if any of the multiple possible values
match.
Correct documentation of CheckForAutoGenerated() to include all headers
Strip non-word characters from CF names for variable names

The existing Simple templates did not address the issue of CF names with
spaces in them.  This strips non-word characters to establish the
variable name -- a trasformation which might cause duplication of CF
names, but this does not notably worsen the situation, as they did not
already posess any uniqueness guarantees.

Note that this may still lead to unicode variable names, as \w is UTF-8
aware, allowing for the variable "$TicketCFStraße".

Fixes I#18446.
add a way to give an attribute an ObjectType besides RT::System

This code allows you to provide a code ref in the Object field in an Attribute
initialdata hash that returns an object that can be used as the ObjectType for
the Attribute:

@Attributes = ({
    Name        => 'SavedSearch',
    Description => 'New Tickets in SomeQueue',
    Object      => sub {
        my $GroupName = 'SomeQueue Group';
        my $group     = RT::Group->new( RT->SystemUser );

        my( $ret, $msg ) = $group->LoadUserDefinedGroup( $GroupName );
        die $msg unless $ret;

        return $group;
    },
    Content     => {
        Format =>  <<'        END_OF_FORMAT',
....
        END_OF_FORMAT
        Query   => "Status = 'new' AND Queue = 'SomeQueue'",
        OrderBy => 'id',
        Order   => 'DESC'
    },
});
Still delay loading when showing headers

In 75a405b5 we added the ForceShowHistory flag to Click to load history
so that even if your JS was off, clicking on the link would load the
page.

This flag is also found in the Show Headers links added in 1a3327ce
and I think added so that when you clicked on ShowHeaders with Click to
load enable, you didn't *then* have to click on "Load history" just to
see the headers.

However, with delay, we already passed ShowHeaders to the helper, but
clicking on Show Headers forced us to do the page load inline instead.
This negates all of the perceived speed boost from delayed loading.
Removing it from the delay case hasn't immediately broken things, and
the delayed loading really doesn't play well with having JS off anyway.
$name is more right as it handles the case when $Name is not defined
Merge branch '4.2/simple-template-cf' into 4.2-trunk
Merge 4.2/multiple-precedence into 4.2-trunk
Merge branch '4.2/cf-combobox-name-fix' into 4.2-trunk
Merge branch '4.2/still-defer-history-loading-when-showing-headers' into 4.2-trunk
Merge branch '4.2/loadable-object-for-attribute-initialdata' into 4.2-trunk