MDL-18375 calendar: added multiple calendar support

Conflicts:

	course/edit_form.php
	lib/db/install.xml
	lib/form/dateselector.php
	lib/form/datetimeselector.php
	lib/setup.php
MDL-18375 calendar: removed calendar systems that should be downloaded as plugins
MDL-18375 calendar: moved the calendar systems location to a sub-folder in the calendar directory
MDL-18375 calendar: removed Non-English language for the Gregorian calendar system that should be downloaded separately

Also removed unnecessary version.php file.
MDL-18375 calendar: removed custom files responsible for checking for updates as this should be done through core
MDL-18375 calendar: removed JS as there is no non-JS alternative provided and the JS does not make use of the YUI library to ensure multiple browser support
MDL-18375 calendar: changed the class name to reflect the new directory location and added PHPdocs
MDL-18375 calendar: only display the YUI2 calendar when the gregorian system is used
MDL-18375 calendar: removed code from the base class and only introduced functionality responsible for generating the date selector form elements

In the original patch we are overwriting core functions responsible for saving time in the database in the calendar base class. This is very dangerous, we do not want to touch these functions as it could cause a complete fubar of the database. There are places we are forcing the use of the gregorian calendar as we are passing dates generated by the PHP date function, where as sometimes we pass dates from usergetdate (which was being overwritten to return the date specific to the calendar). We can not expect third party modules to change the calendar system depending on the format they pass to these functions. In future commits I will be expanding the base class when needed and removing any changes to the core functions when related to the commit.
MDL-18375 calendar: removed initial patch changes to core functions
MDL-18375 calendar: renamed and set directory name to singular to match other Moodle plugins

Also did some minor changes such as removing/moving language strings.
MDL-18375 calendar: added the userdate function to the calendar type
MDL-18375 calendar: added upgrade path to install the calendartype column in the course and user table
MDL-18375 calendar: added the usergetdate function to the calendar type

Also added an additional abstract function necessary for converting dates from the Gregorian calendar.
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.