Turn the admin filter_* functions into methods

These `filter_file` and `filter_folder` functions make assumptions about
the user model in use -- it must have `username`, `first_name`, and
`last_name` fields. They should be implemented as methods instead of
inner functions to allow overriding them when using a different user
model.

Another solution for searching custom user models could be to
dynamically build the query based on `get_user_model()._meta.fields`.
This seems complicated and prone to error, so providing overridable
methods is simpler and probably good enough.
added whitespace thumbnail processor
switches to random url path instead of date based
updates history
bumps version to 0.9.5
Merge branch 'release/0.9.5' into develop
Restore the inheritance for delete_confirmation template from django's one and adds filer specific css / code. Thanks to @acatton
Merge pull request #326 from nephila/feature/fix_delete_template

Alternative fix for #321
Merge pull request #322 from fusionbox/filter_methods

Turn the admin filter_* functions into methods
Merge pull request #323 from alesdotio/develop

added whitespace thumbnail processor
Improve the performance of directory listing.

Performance is improved by no loger executing a query for each file and
folder. Now a single query is executed for gathering all of a user's
permitted ids.

The folder_qs and file_qs QuerySets filter on the user's permitted ids
=> just 3 queries required (instead of one for each file/folder)
Remove useless nested functions and unused functions
Removed another redundant function and made the code more readable
Added unit tests for the directory listing permission filtering
Made assertions and test names more readable
Fix the encoding directive (which I accidentally messed up in my prev commit)
Added a SettingsOverride context manager for easily switching different filer settings during tests
Test when permissions are granted on the parent folder
Activate TZ support in tests
WiP TZ support