Changed the order in which expiration is handled on StateProvider. Added Integration tests to demonstrate and test the solution
Merge pull request #9 from Elph/hotfix/ttl-first-request-fix

Key expiration not correctly set in the first request, + unit test