captcha field without autocomplete
oops: Add "size" to the allowed keys for attachments
tnef: Send size of attachments for de-duplication
api: Don't crash on unexpected data, just warn
Fix images in new ticket notice to end user

Images placed in the "Issue Details" in a new ticket by staff are not
correctly translated to the standard used in the storage model in the
%ticket_thread table nor for the standard used by the email system.

This patch changes the logic used to create the email template to fetch the
sanitized and converted message body from the ThreadEntry instance created
rather than reusing the raw message originally sent in the request.

References:
https://github.com/osTicket/osTicket-1.8/issues/816
alerts: Send new note alert to assigned team members

Previously, the new internal note alert was only sent to the assigned staff
member, if any were assigned.
mail-parse: Reduce memory overhead of parsing large mails
mail-parse: Further optimize memory usage

This patch uses a 'StringView' to create a string which is a window of
another string. The __toString() method is employed to fetch a lazy copy of
the window which can be usually immediately discarded. This is optimal for
one-time-use string copies like what is used in the mail parsing.
Limit ticket assignment to department members

Add department setting to limit ticket assignment within department to
department members only. This is necessary for departments with strict
policy on who can access tickets.

The setting doesn't limit team assignment or auto-assignment via help topics
and ticket filters.
Add format param to PersonsName constructor

Accept desired $format as part of class instantiation. System default is
used when none or an invalid format is provided
Extend department membership to groups by default

The setting is useful in making sure the staff members with access to the
department can get alerts and available as possible assignees.
Make department email optional

Departments without email will use the system default email as the default
outgoing email.
Show close date on closed tickets queue

Consider closed date to determine ticket's last activity date. The net effect is closed tickets queue will be sorted by closed date.
bounce: Handle rfc-1892 style bounce notices

Sometimes an MTA may just send back the headers of the original message
rather than the entire original message. Such an email will have a
`text/rfc822-headers` part which will be the complete headers of the
original message.

Without this patch, osTicket will create a new ticket for the bounce message
rather than attaching the new internal note to the existing ticket.

References:
https://tools.ietf.org/html/rfc1892
mail-parse: Use a bit less memory copying
Merge pull request #858 from greezybacon/issue/new-note-team-alert

alerts: Send new note alert to assigned team members

Reviewed-By: Peter Rotich <peter@osticket.com>
Advertise new internal note alert to team members
Merge pull request #871 from greezybacon/issue/rfc1892

bounce: Handle rfc/1892 style bounce notices

Reviewed-By: Peter Rotich <peter@osticket.com>
mail-parse: Optimize StringView::split

Remove usage of preg_match_all for large strings
Merge pull request #861 from greezybacon/issue/mailparse-large-messages

Make mail parsing more memory efficient

Reviewed-By: Peter Rotich <peter@osticket.com>