simplify calendar library

it seemed quite strange that we ask users to pass in a template string the we parse with REGEX, to extract key/value pairs, when we can simply ask users for an array.

the class still contains default variables for each part of the template. Users can simply pass in an array (instead of a string) when they initialize, $config['template'], which overwrites default values. 

this cuts down a little on file size by removing parse_template() function.
I think arrays are much more straightforward and easy to read than 'encoded' strings.
don't have to keep a running list of all template keys like in previous parse_template() function.
gets rid of $this->temp[] property and changes it to $this->template[] which is more descriptive when generating output
template as array instead of string

library accepts `$config['template']` as array and string, to perform template replacements.

updated `$this->temp` var to `$this->replacements` to be less ambiguous about what it does
updates per narfbg's comments
updates per narfbg request

I did a bunch of Git tutorials, and (i think) understand a lot more
now. this update is to address narfbg comments, and add to pull request.
Merge branch 'develop' into patch-1

Conflicts:
	system/libraries/Calendar.php
Merge branch 'develop' into patch-1
documentation for calendar updates

change log and user guide updates for calendar update
Merge pull request #2864 from browner12/patch-1

simplify calendar library