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
Ideally we should be using mock models for controller tests as we are only testing the behavior of the controller code and how it interacts with models, rather than testing the states of the models (states already handled by model tests), unless we are writing integration tests, which are supposed to use real objects for everything. This also speeds up controller tests significantly.

Now, giving a second thought to the `build_stubbed` issue we discussed earlier, I think it does make sense to use `build_stubbed` here, because it automatically creates stubbed associations according to the factory specs. If we use `mock_model` or `stub_model`, we would have to setup the associations manually, which is repeating the work of the factories. So something like
```ruby
let(:grouping) { build_stubbed(:grouping) }
let(:assignment) { grouping.assignment }

before(:each) { allow(Assignment).to receive(:find) { assignment } }
```
Since pretty much every action in GroupsController needs an assignment, we could move the above to the 'administrator access' context so that all sub-contexts can use them.