P001ModelSurrogate forwardInvocation: refactoring

• `forwardInvocation:`'s logic broken into new `usingInstanceHandleInvocation:` and `usingCacheHandleInvocation:` methods.
	» The logic between these two is quite a bit different (despite following a similar form) and although they could be combined into one scope with a bunch of period if/elses, I feel a number of helper methods is the smarter DRY approach, and this should lead there.
	• Some clean-up and optimizations along the way as well.
• Minor: `modelWillDie:` now sets the _instance ivar to nil, for sanity's sake.