Separating out the elo calculator to be used outside of a mixin

Hey I got a little carried away with the code, but here's my take on how to refactor out the calculator so you can use it in any object without needing to mix it in and have less of a footprint. You don't need to pull it in if you don't like it. I'd just like you to take a look and give me any feedback. I really like your calculation implementation better than my own (I didn't have any of the proficiency_map type stuff.) Also interesting to note, I got rid of ClassMethods, InstanceMethods, and class_eval. It's an opinionated move, but I find I like the code better this way. Once again, just thought you might be interested.