Don't cache failures in the interface cache.

If we try to reuse a failure, we'll be holding a NULL Method* without
the current thread having the appropriate exception pending, which will
lead to a SIGSEGV.

I've added a corresponding vm-test to cts/.

Bug: http://code.google.com/p/android/issues/detail?id=29358
Change-Id: I044e438c46fce256c8eff2dac5d86778734d5614