Rspec 3

Extracted these Rspec 3 commits from #321. Thanks @seankay!