Event Backdoor Improvements

Improved/generalized Event backdoor handling.

The value for the backdoor is now pulled from the database, meaning that it doesn't have to be provided on a per form basis.
Event::CheckSession

Added a method to the Event class to retrieve the number of people enrolled in a particular session, based on a database column and a corresponding value in that column.

As this method exposes raw implementation details (underlying database columns et cetera) it is protected, meaning that derived classes have to wrap it if the functionality is to be visible to the outside.
Event::FormatDate

Added a method to the Event class to format the date(s) on which the event takes place.

Currently does not accept custom format strings, but this could change going forward.
Event::GetEMail

Added a method to the Event class to retrieve an EMail object to be used to send registration confirmation e-mails.
ObjectUtil

Added the ObjectUtil class, which contains the static Merge method, which merges two objects in the same way that array_merge merges two arrays.