Refactor

sorry about the 3 commits... b/c of the merge of upstream I got into git squash hell and couldn't find my way out of it. :-/

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.