Sketch implementation of ordered with counts

Questions:

1. What should we do with at_least, at_most and ordered?
2. In receive_spec.rb:325 I've done the calls after the fact. The spec correctly fails and catches the exception but then the RSpec mocks teardown raises the next exception. We could replace this with a manual call to RSpec::Mocks.space.reset_all or possibly a temporary scope. What's best?
3. Is this even a good way to solve the problem, shoving more things in to the order group doesn't feel like a great solution to me?


It feels a bit like you're missing an abstraction here:

``` ruby
additional_expected_calls.times do
  @order_group.register(self)
end
```

...where:

``` ruby
def additional_expected_calls
  return 0 if @expectation_type == :stub || !@exactly
  @expected_received_count - 1
end
```