Support expectations on missing methods in 1.8

Move find_original_method logic into original_method and alias it as
save_original_method!, since the return value is not used. This removes
the need to add handling for memoizing nil correctly.

This breaks any_instance support, fix coming in a later commit.
Use and_call_original in spec to add extra confidence around original method code.

The previous use of and_return wasn't testing anything interesting.
Prevent AnyInstance from expecting methods that don't exist.

This has the downside that valid missing methods cannot be expected.
Always allow undefined methods to be expected on any instance.

Even when verify_partial_doubles is set.