* Disburdened constructor methods of most of the prototypes by moving most of the code to the new static add() method.
* Added temporary debugging method HopObject.confirmConstructor() to log a warning whenever a constructor is directly called – in which case it should be checked if the static add() method is to be preferred.
* Removed obsolete code in Poll.edit_action() method.
* Call Admin.purgeSites() from scheduler() to reduce delay between deletion date and running nightly()
* Do not remove already existing deletion job, can be useful for debugging
* Do not increase Site.deleted property when queueing the deletion job
* Remove deletion job if exists and the site status has been changed again to prevent undesired deletion of sites
* Removed <select> elements for long and short date formats in $Site.edit skin
* Removed compatibility support for long and short date formats
* Removed global getDateFormats() method and commented code in global formatDate() method
* Slightly shortened <select> elements in site preferences again
* Rewrite client-side code for reformatting the time zone <select> element according to changes in global getTimeZones() method
* Replaced “return false” with call for event.preventDefault() in client-side event-driven code
* Rewrote global getDateFormats() and formatDate() methods – caution! getDateFormats() will be removed in the next commit because the dropdown menus in site preferences are obsolete; just committing the code for the record
* Removed call for Site.processHref() method in Site.getStaticUrl() - still to be evaluated
* Added call for Feature.getPermission() in Site.getPermission()
* Metadata is now written to its own table instead of a column only
* Values are saved as JSON-like structure only for certain types (like Array or Function)
* Adding custom metadata is more generic using the new HopObject methods setMetadata(), getMetadata() and deleteMetadata()
* Searching keys and values via common SQL query is much more straightforward (no JSON-like structure involved when basic types like String and Number)
* Removed numbered, footnote-like links in most of the noficitaion messages
* Added prefix to subjects of notification mails (like “[Antville] ...”) for convenience
* Added markgettext() calls for most of the prototype names and their plural forms – this time in each corresponding prototype file, though
* Added options argument to global sendMail() method, currently only to switch inclusion of generic footer in mail body
* Fix bug in Membership.contact_action() method when an unknown (i.e. unregistered or unsubscribed) user tries to send a message via contact form
* Unified naming of notify skins (e.g. #notify_delete instead of #notify_deletion)
* Updated and rebuilt i18n and message files