Switching to RSpec for testing

This is the first installment of the potential switch, it illustrates the format of model testing. If anyone has any input on how I can make these tests even better, while maintaining readability, I would really appreciate the help. I purposely only tested one method so that we can focus more on the style versus what is actually being tested. I'm hoping to decide on a style before this PR is merged.  @ferrous26 @zhangsu
(Sorry, I added this comment at the wrong line. Moved to the right place now.)

One option is that we can continue to use Shoulda matchers (just the matchers, not shoulda itself. So we keep the `shoulda-matchers` gem but remove the `shoulda` gem) for this kind of validations (this and the above 3 examples). This will allow us to write elegant one-liner examples:
```ruby
it { should validate_precense_of(...) }
it { should validate_uniqueness_of(...) }
it { should ensure_length_of(...) }
```
That way we also don't need to create a invalid subject for each example. What do you think?