Adds tests
Fixes test setup
Updates requirements
Adds better unicode support and fixes TypeError for None with cache_lifetime