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
I do prefer `its(:repo_name) { should ... }` (or another variation of this which is more consistent with the new expect syntax, but less readable IMO: `its(:repo_name) { is_expected.to ... }`). If you look at the RSpec output, which is intended to be a readable documentation of the code, for the two styles, the difference is obvious.

### it { expect ... } style
```
Group
  [...]
  #set_repo_name
    when name is not specified
      should start with "group_"
    when name is specified
      should eq "g2markus"
```
### its(...) { should ... } style
```
Group
  [...]
  #set_repo_name
    when name is not specified
      repo_name
        should start with "group_"
    when name is specified
      repo_name
        should eq "g2markus"
```
The second style clearly states the subject (e.g., what equals "g2markus"?).