Initial work

I used nose for testing and followed a much more TDD workflow than I usually do.

Test coverage is very good! On the flip side, I don't know if this actually works yet :)
I'm not mutating `user_params`, so I don't think there's an issue here. Or am I missing something?