Refactor

I'll be adding support for baseball this week so I wanted to try and DRY some of this stuff up before it gets too painful.  The MLB api is v4 (brand new), so it's yet another version that we'll support in this gem, which limits refactoring abilities in other places (without a major overhaul anyway).

Lemme know what you think.