fixes #22, fixes #18

- added some unit tests
- added caching for champions
- can now look up champions by id
- changed game and summoner to reference champion objects instead of saving a champion_id

Let me know what you think of this (especially https://github.com/zetsubo/vigor/commit/a1b0b3f7ec41f22e40501290cb5e29d6d77a0d80). I felt like champion_id is less useful than just using a champion object. The only downside is that pulling game data will make another request for the champion list if that hasn't been populated yet.