CI_Upload changes

- Method chaining support.
- A more abstract resetting of the default settings.
- Added an option to initialize() to disable resetting to default settings.
- Removed method mimes_types() and slightly optimized chunks of code where it was used.
- Added the ability to pass allowed_types as an array.
Add test cases for CI_Upload::__construct(), CI_Upload::initialize()
Remove CI_Calendar::

Only use it in generate().
Minor improvements to CI_FTP