Temporary worflow of post_processors
Reworked post_processors

1. Moved temporary folder creation into its own function
2. To avoid race condition, use UUID on temporary filename creation
3. Delete temporary file after used
4. Added optipng on travis.yml to test
Refactored post_processors

1. Change some variable name
2. Open file with binary mode
3. Remove unused import
4. Added workaround for 1.4.10
Added new settings POST_PROCESSORS
Merge branch 'master' into post-processors

Conflicts:
	thumbnails/files.py
Merge branch 'post-processors' of github.com:SeiryuZ/django-thumbnails into post-processors
Moved file operations to optimize_image method
change get_or_create_temporary_directory -> get_or_create_temp_dir
Reworked how post_processors commands are determined

1. Changed settings parsing for post processors in thumbnails.conf
2. Changed optimize_image -> optimize (With new parameters)
3. Now calling optimize will need to call with the parameters supplied
4. Catch only OSErrorException when calling commands
Merge branch 'master' into post-processors
Make post_processor.optimize accept kwargs

This is done so that post_processors function could freely define
arguments that are needed for the function to perform correctly.
Minor edit on post_processors error message
Changed how to pass argument to post_processors

1. Now kwargs will be parsed and attached to the keys on conf.
2. Remove try except block on OSError.
Merge pull request #38 from SeiryuZ/post-processors

post_processors
Minor cleanups around post processors.
optimize post processor shouldn't run 'call' with shell and pipe.
Maybe we need shell=True after all.
Redirect optipng output in tests/settings.py to /dev/null.
Make TemporaryStorage backend's location less random.
Refactored some logic for better separation of concerns and testability.