Clean-up authors and contributors list and put them into AUTHORS file
Put testing code into it's own function to prevent variable leakages
Add Python 3 compatibility
Make methods not depending on the instance static
Don't shadow built-in name, filter
Use augmented assignment statements where appropriate
Remove redundant parentheses
Remove unused variables
Simplify `prev` usage in load method
Don't use mutable values for defaults
Use Pythonic name conventions for two-word variable names