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
It is generally better to use `to be_truthy` (`be_truthy` is the RSpec 3 new syntax. RSpec 2 uses `be_true`) for predicate tests. The method doesn't have to return the `true` singleton instance of `TrueClass` to indicate trueness; it can simply return a "truthy" values (in Ruby, anything that's not `false` or `nil` is truthy). Some people do something like `!!some_value` to turn a truthy object into `true` or falsey object into `false`, but that's been discouraged by the community-driven Ruby style guide.