Removed extra from $name, since it does not follow the format of other form_ helpers. Form helpers use $extra as a string. On the form_input for example, the $extra is a string but placing extra in the first parameter results in an attribute on the resulting element called 'extra', whereas the drop down it does not. $extra is now passed along as works just as all other form_ methods do.
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 remote-tracking branch 'upstream/develop' into develop

Conflicts:
	system/helpers/form_helper.php
Made form_dropdown compatible with the other form helper methods
Fix for selected being NULL from set_value
Removed space for travis ci checks
Actual fix for extra whitespace
Dropdown should match style guide now.
Removed non permitted changes
Updated code to match style guide
Micro-optimizations
Removed extra spaces and irrelevant condition
Merge branch 'develop' into patch-1
documentation for calendar updates

change log and user guide updates for calendar update
Removed extra space, condensed $defaults
Merge pull request #2881 from brenjt/form_helper

form_dropdown array as first param fix