mark providers as singleton
remove all methods deprecated with 4.0.0
token store needs access to request because validity of token might depend on further information, e.g. the ip address
Merge pull request #59 from mikey179/master

more work for 5.0.0