Object-oriented interface

Hey @bhardin,

Pursuant to our conversation from a couple of weeks ago, how's about you check out the path I've taken here with the gem? I haven't made classes for absolutely everything, and there are undoubtedly some mop-up tasks to be done here, but I wanted to get this in front of you. I also haven't modified the documentation, so you will probably have to read the tests to get a sense of what's really going on here. I will happily do so before we merge this in.

There are a lot of data file changes, sorry. That's a lot of the noise in this PR. lib/bgg-api is back to being small and neat though! :smiley: