Update the Calendar Class
Added custom error messages functionality for individual fields.
Fix 2 errors caused by recent commits
Code Corrections for the Calendar Pull Request
Join two if statement into one
Unnecessary rtrim and update docs for Calendar class
Remove preg_quote() call from CI_User_agent::_set_browser() and add another pattern for Opera

Input comes from a configuration file that is barely touched by anyone
and the default values only contain letters, so it is safe to not
quote them.

This enables us to add a more advanced pattern in config/user_agents.php
for Opera 10+, which ... quote:

  Opera/9.80 is hard coded at the beginning of the user agent string because of broken browser sniffing scripts which detect 'Opera/10' and above as Opera 1.

(reference: http://my.opera.com/community/openweb/idopera/)

Instead, latests versions of Opera append ' Version/<version number>'
to the end of the user agent string.

Fixes issue #555 (incorrect browser detection for Opera)
Add CI_User_agent::parse() to allow parsing a custom user-agent string

Based on PR #970
Changed $error_msg to $errors
Fixed a missed variable $errors in set_rules().
Removed extra space between closing parenthesis.
Updated change log message for form validation custrom errors.
Updated comment messages.
Added spaces between parameters and fixed the arrays to be more readable.
Merge branch 'develop' into feature/form_validation/custom_error_per_field
Added the missing "is" in the comment
Changed the rest of 'error_msg' to 'errors'
Added space after 'if' condition
Fixed coding styles in form_validation.rst
Fixed the comment and array alignment.