character_limiter now works correct for UTF-8 strings

strlen() doesn't return the actual length for unicode strings. For example strlen('سلام') returns 8, but length of سلام is 4. strlen(utf8_decode('سلام')) returns correct value 4.
Reference: http://www.php.net/manual/de/function.strlen.php#45407
removed newline from end of file
remove newline from end of file
count number of characters (with mb_strlen) instead of counting number of bytes with strlen
Merge remote-tracking branch 'asli/develop' into patch-1
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
Fix a typo in the smileys config (PR #2853)
Fix issue #43
A bug fix and optimizations in CI_Table
Change CI_Table:: to NULL

Because semantics
Another tiny optimization in CI_Table + remove an accidental addition
More code reduced from CI_Table
2013 > 2014

Update copyright notices from 2013 to 2014.
And update one calendar example in user_guide from year 2013/2014 to
2014/2015.
Merge pull request #2869 from darwinel/develop

2013 > 2014
Writing style fix based on style guide

„Use of || is discouraged as its clarity on some output devices is low
(looking like the number 11 for instance). && is preferred over AND but
either are acceptable, and a space should always precede and follow !.”