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