Codebase refactoring

Recently I got interested in this project and felt interested in help with maintenance, but one of the things that bugged me the most when I cloned the repo and took a look at the codebase is that it felt messy :( So I decided to do some very basic brush-up at first, as a way to get used to the codebase while trying to improve it a little. This is the result of it. Beware that these commits break ruby 1.8 compatibility (I'm not sure how much this matters :\); the build is green on my end, I did the whole refactoring trusting the current test coverage.

What I did was mainly extract classes to their own files, extract some methods, remove whitespace, and stick to some more obvious conventions. It seems like the codebase is kind of old and the basic structure has never changed. I did try to not make many big changes here, but I have another branch with more specific style fixes (guided by the [ruby style guide](//github.com/bbatsov/ruby-style-guide) - I'll submit another PR if this gets accepted).

Anyway, if you guys disagree with this, please share your thoughts.