Disable closing tickets with empty required fields

These modifications force required fields to be non-empty before closing
a ticket. Previously, tickets could be created, worked, and closed
without entering data into custom required fields (so long as the
custom-fields were internal and the ticket was never edited internally)
This leads to problems when developing plugins which poll custom field
data from past tickets to create reports (for example). It also just
doesn't make sense for a required field to never actually be required.
:)