Add hook_civicrm_preProcess function.

This seems to be a generically useful spot to intercept the form object and
change things before the form is processed. Specifically, we need this hook
for integrating the Event Cart with the CiviDiscount extension.
Ah. That's because I originally implemented this for 4.4, which was before this change https://github.com/civicrm/civicrm-core/commit/87dab4a469c6829c40fe444cfbe469ce9254ed1f. I've updated the PR to follow the 4.5+ conventions.