Cleanse out some impurity
Tidy up cabal file
Add supply class and specialised integer instance
Add tokens supply
Add monad for using supplies
Tidy up Data.Supply and add class instance