Returned instances are injected the component factory.

Types conforming TyphoonComponentFactoryAware passed as the return type for a
factory generated from TyphoonFactoryProvider, will be now correctly injected
with the component factory.

This commit only works when using withProtocol:dependencies:returns:. Others
will come in later commits.

See #144
Returned instances are injected the component factory (also for blocks!).

This commit completes the previous one, making factories based on blocks also
inject the factory when appropriate.

The idea is using the already working implementation from the initializer
closures: the block turns into the implementation of a hidden method, the
real method gets intercepted by forwardInvocation, which gets redirected to
the hidden method, and the return value gets injected with the component
factory if needed.

Tests added or updated for the new feature.

See #144
Update pods.