storage: specify container_name as part of the mixin API
add local filesystem storage, refs #74

A local filesystem storage class was added for users that don't
want to use any cloud service, or just want to try filecabinet locally:
'filecabinet.storage.filesystem.FileSystemStorage'

Some internal changes were necessary:

 - a generic way to handle storage specific exception was created, see
   the new setting 'STORAGE_EXCEPTIONS_HANDLER'. This prevents filecabinet
   (operations.py) to import and know specific details for all storages when
   only one is being used at the moment.

 - don't import the storages on 'filecabinet/storage/__init__.py' anymore, this
   will prevent importing classes that won't be used. Some apps (django-cumulus,
   I'm looking at you) try to do app setup during import

 - added new requirements to 'FileCabinetStorageMixin': 'is_cloud' class
   attribute indicates if the storage deals with any cloud service

 - ./runtests.py command used to call 'settings.configure()' (on 'conftest.py').
   Don't do this anymore to make django use 'django.conf.Settings' instead of
   'django.conf.UserSettingsHolder'. The former does a timezone setup that
   we relly on 'FileSystemStorage'

 - added a new exception 'ConfigurationError'

 - new dependency required by the filesystem storage: pytz
storage: fix urls for filesystem storage, refs #74
storage: filsystem storage also using CONTAINER_NAME, refs #74

If no 'container' is given to FileSystemStorage, the
setting FILECABINET_CONTAINER_NAME is used. If it's also
None (the default) a 'ConfigurationError' is raised.
storage: reuse modified_time(), refs #74

Django's FileSystemStorage already has a modified_time() method,
no need to call os.stat() again
fields: reorganize tests into functions and split into modules
fields: add to_python() method to form field, refs #72

Now accessing .cleaned_data['name'] returns the appropriate
filedict instead of the string that was in the html
fields: fix javascript to remove (clean) field
tinymce: image popup filters by Image category
improve some variables names in js