Gamify us

Adding some functionality around making the site a little more sticky. I'm still playing with the algorithm but this seems to be reasonable -- at least for right now. 

I'm also not sure about calculating the user's level on the fly. We'll probably want to eventually move the calculations into model hooks. This should be fine for proof of concept.