Fix the double indentation in CastableObjectUnwrapper.

The current code indents the first line of codeOnFailure four spaces too far.
Remove FailureFatalCastableObjectUnwrapper.

The inheritance pattern used here was not particularly enlightening, and only
one caller uses FailureFatalCastableObjectUnwrapper.
Throw a TypeError when unwrapping an interface argument fails.
Throw a TypeError when unwrapping a this object fails.
Merge pull request #3003 from Ms2ger/interface-unwrap-failure

Throw a TypeError when unwrapping an interface fails; r=Manishearth+jdm