Dynamic data for osTicket

*This is a major redesign / rework of the osTicket base*

This patch drops the concept of static ticket metadata and allows for an admin-configurable arbitrary data that is attachable to tickets

The system is architected such that the base osTicket install now comes with a "default" form that has fields for subject, name, email, and phone number. This form is editable to allow for the addition of arbitrary other fields; however, the basic fields must remain in order to be associated with a help-topic and attached to a ticket.

This concept can be expanded to allow for arbitrary data associated with registered clients or ticket thread items.

Forms are comprised of sections. Sections have a title and instructions properties and a list of fields. Fields have various implementations to represent different data such as text, long answer, phone number, datetime, yes/no, and selections, and are configurable to define the look and feel and interpretation of the respective form field.

Dropdown lists are represented as "Dynamic Lists", which are admin-configurable lists of items. Dropdowns can be optionally represented as Bootstrap typeahead fields.

This also adds the start of a simple ORM which will hopefully be expanded in the future to support multiple database platforms. Currently, only MySQL is implemented.

**WARNING** *Experimental code*: For now, this patch only supports clean installations. A start of an upgrade script is included, but is neither integrated with the upgrade system nor tested.

I would like to see early adopters and aggressive testers help in debugging the last of issues and sniff out the remaining requirements.

Known Outstanding Issues (last mile):
  - Delete support for big dynamic items (list, section, form)
  - Email integration -- allow submission without required fields not represented in MIME
  - Upgrade testing
  - PDF layout fixes
  - Icons for the admin interface menu for dynamic forms
  - Documentation

Extra features TODO:
  - Custom regex validator for the text field