Add an add_after method

This allows you to call PageMenu->child('foo') and insert
a new menu item after it from an extension without doing all the
sort_order math yourself.
Add an add_before method

This is basically a clone of add_after except it doesn't skip to the
next item before beginning to shift sort order.
These want to be refactored together somehow.
Remove all whitespace separating adjacent encoded-word chunks

RFC 2047 says:

   When displaying a particular header field that contains multiple
   'encoded-word's, any 'linear-white-space' that separates a pair of
   adjacent 'encoded-word's is ignored.

Implement this by explicitly removing all such whitespace.
Join all adjacent QP encoded-word chunks, in case octets were split

Though not allowed by RFC 2047, some mail clients split multiple octets
of a multibyte encoding across different encoded-word chunks.
Reassemble adjacent encoded-word chunks into one, as long as they match
in encoding, language, and transfer encoding.  Only quoted-printable
chunks are joined, as joining base64 hunks is much more complex.
use lookahead in s/// instead of while loop
Scrub javascript from dashboard emails rather than relying on imperfect flags

Both Outlook and Lotus render <script> tags poorly, so they're useful to
remove.
Make the date entry widgets on bulk update page be datetime widgets

All of the fields in question are actually datetimes, not simply dates.
The ShowTime => 0 flag dates from 86ef6b2, when the bulk update
functionality was first added, and is erroneous.
make labels (aka object names) less restrictive

I don't see any reason to restrict characters to anything,
but , and /.
fix the loc of "group by" in search chart page by joining the sperated loc-ed words

e.g. instead of loc('Owner Name'), we join existing loc('Owner') and
loc('Name'). now left words are qw(Hourly Annually), which we should extract
to .po files
simplify Queue Lifecycle column's logic to avoid empty values
test queue's lifecycle change in admin ui
upgrade script to update queue lifecycle column from null to "default"

as we don't allow to set the column empty value any more
margin-left ".edit-custom-field .entry" to fix the alignment bug in #19518

before, the edit ui could be:

foo                     foo.png
Upload multiple files   bar.png
baz.png

this fix moves baz.png below "bar.png" instead of the label:

foo                     foo.png
Upload multiple files   bar.png
                        baz.png
upgrade lifecycle to "default" for values like 0 or empty string
Remove some erroneous documentation added in 702d1fd

This documentation was more of a "spec" for what was to be implemented.
I can find no evidence that the REST server code was ever updated to
support any of it.
This code was a runtime error

It now tells you something more useful if you say
rt grant or rt revoke
We should remove these methods in 4.2
Start of documentation for the initialdata format

Incomplete at the moment, but some of the most common pieces are there.
@ACL is fully documented since I had written it previously.
Finish documenting all other data structures in initialdata files
Document RT::Queue as a valid LookupType in RT::CustomField
Note the most frustrating current limitations of initialdata files

See also http://issues.bestpractical.com/Ticket/Display.html?id=20564