Stop double-resetting mock proxies.

We don't need to reset the mock proxy while verifying it.
That'll happen later during the teardown phase.

It looks like the main reason we were doing this was
to assist with rspec-mocks testing itself; we would
verify the middle of an example to assert a mock expectation
failure, and a `reset` is needed so it doesn't fail again
when rspec-core calls `verify` as well.

The solution is to use spec helper methods that perform
the reset when we verify in the middle of an example.

I don't have any evidence this improves perf, but it
seems reasonable to assume that removing an extra method
call per example can only make it faster (however slight
the improvement may be).

Fixes #165.
Remove test we no longer need.

The logic that required this test was removed in cd81094a.
Update spec to only specify the behavior we are keeping.

We're going to change the behavior of test doubles
that have been reset (so that they "expire" and can
no longer be used). This spec was originally added in
847c66d55f2ec0ffc56aa27638a3469a03ddab3d where the
point was to address an error while resetting a test
double (which, in turn caused that method double
to stick around into later examples and continue to
fail).
Split spec into two.

The second part of this spec was added in
9357e4de76838157c8ea7d4a4ad6d0ae11882b22. We are
changing test doubles so that they self-destruct
after being reset. Currently, `verify` also
resets, so verifying a test double twice
will no longer be allowed.
Update teardown spec.

We're going to change how pure test doubles behave
after teardown, so update this to focus on partial
doubles (which will not be changed).
Make test doubles self-destruct after the example completes.

Test doubles are not designed to be used outside of
the example they were created in.
No need for ProxyForNil to have its own file.
Centralize error classes in error_generator.rb.

Also, document some of them as public since
users may want to rescue them, or specify
a block will raise one of these errors
(e.g. in an rspec-mocks extension gem).