Allow implicit subject to be used with block taking matchers (e.g. change)

This is a WIP implementation allowing the use of matchers which expect to take a block/lambda to compare multiple 
values and assert on the change in them (e.g. the Change matcher) with the one-line implicit subject syntax. (Inspired by conversation with @jamesotron and hack night coding with @puyo).

WDYT superfriends? /cc @myronmarston @samphippen