oops: Fix crash in enduser web portal on reply
Merge pull request #1269 from greezybacon/oops/fix-enduser-reply

oops: Fix crash in enduser web portal on reply

Reviewed-By: Peter Rotich <peter@osticket.com>
bug: Allow Resolved tickets to be reopened
Merge pull request #1274 from protich/issue/reopen-resolved-tickets

bug: Allow Resolved tickets to be reopened

Reviewed-By: Jared Hancock <jared@osticket.com>
oops: Only parse the filetypes Yaml one time
bug: Fix status display on client interface
Merge pull request #1273 from protich/issue/client-ticket-status

bug: Fix status display on client interface

Shameless-Self-Merge: <peter@osticket.com>
forms: Add new visibility property

This allows fields to specify a visibility constraint that will be evaluated
in real time in the browser to automatically show and hide fields that
should be hidden based on values of other fields in the same form.

Validation is not performed on fields server-side if they are considered
invisible when submitted.
forms: Add new 'regex' selection to validators

This allows administrators to define a regular expression to filter content
entered into short answer fields by agents and endusers. With the new
visibility feature, the regular expression input is only shown if the
regular expression validator is selected.
forms: Implement support for checkbox fields

Also fix crash if the [name] of a widget element started with a digit
character.
Add status properties to the status table.
Remove "resolved" state

This is necessary to avoid confusion vs. closed state.
Fix typo and use proper user function call
Add ListObject utility class

This will be useful for maintaining arbitrary list of items. ListObject
should be used in the place of ArrayObject
Add cascading propagation to field visibility

Hiding a field triggers visibility check on dependent fields
Use jQuery specific value getters
Add reopen settings for closed statuses.

This will allow administrator to indicate if end users are allowed to reopen
tickets in a particular closed status.
Consider current status settings when reopening a ticket