MDL-18375 calendar: moved the location of the calendar type select box when editing a course
MDL-18375 calendar: added the userdate and usergetdate functions to the calendar type
MDL-18375 calendar: added the calendartype column to the course and user table and created an upgrade path
MDL-18375 calendar: refactored the datetime user field so that it now uses the calendar type system
MDL-18375 calendar: implemented the usage of the recently introduced automatic class loading
MDL-18375 calendar: created a test calendar type to use for PHPUnit tests
MDL-18375 calendar: added initial PHPUnit tests
MDL-18375 calendar: changed the order of the parameters passed to conform to other core functions
MDL-18375 calendar: removed uses of PHP date functions not present on all PHP installs

Changed the logic of the test calendar so that it does not use the
Julian date calendar as the PHP date conversion functions (eg. jdtogregorian)
are not always present on all PHP installs. Also split the unit test
into multiple tests and rearranged the order parameters were passed to
certain functions as they were changed in the previous commit.
MDL-18375 calendar: introduced a PHPUnit test to ensure the datetime user profile field settings are saved correctly
MDL-18375 calendar: removed space between the opening PHP tag and the licensing information
MDL-18375 calendar: made userdate and usergetdate abstract to ensure developers implement this functionality in their calendar type
MDL-18375 calendar: placed the require_once calls to the top of the unit test page
MDL-18375 calendar: declare scope of functions in the factory class
MDL-18375 calendar: added '\' before each use of the core_calendar namespace
MDL-18375 calendar: removed unnecessary functions for converting years and now use existing functions
MDL-18375 calendar: renamed the userdate/usergetdate function in the calendar type to be more descriptive

I also tidied up the PHPDocs for these functions.
MDL-18375 calendar: PHPDoc tidy up