i18n: Make topics, SLAs, lists, list items translatable
search: Introduce concept of new advanced search
forms: Add concept of inline forms

In-line forms are forms that are rendered as one field. The data of the
inline form is also saved in the data for one field. Currently, the data is
rendered to JSON and stashed in the database.

The data in the field is also accessible via the variable replacement
system, so something line %{ticket.field.subfield} can be handled by the
inline form field.
orm: Convert ticket lock to ORM
orm: Convert Department to ORM
forms: Add whole-form validation support
forms: Add getState() and loadState() methods

This allows stashing a forms current state and restoring it later
forms: Complete search support for various widgets
search: Complete mock of advanced search 2.0 dialog
orm: Support NULL related models

When using select_related with nullable relationships, ensure that when
constructing models, that a NULL object is retrieved when handling a null
relationship.
orm: Call __onload() after refetching new objects
orm: Support Interval literals and expressions

This adds support for things like

    SqlInterval::MINUTE(3)
    SqlExpression::minus(SqlFunction::NOW(), SqlInterval::DAY(1))
orm: Make the QuerySet stashable in the session
orm: Properly escape LIKE SQL expressions
orm: Avoid fetching columns more than once

If a common model is used in more than one select_related model (user and
user__email), avoid fetching the columns for the user model more than once.
orm: Convert Priority to ORM
search: Complete new concept of ticket queue view
search: Fixup ticket export
orm: Convert Group to ORM
orm: Convert Staff to ORM