No globals

Finally got around to this. I took out the global atoms that you had, and made a little method that creates a map that we pass around. I know this is a *little* more work for the common case (except for the public methods, I made passing the map to those optional), but it also makes it really easy to use other currencies, and to have a bot that interacts with multiple accounts/currencies.