Add spec to check exist matcher is fully composable

This spec also highlights the failure of memoization here, since @actual will change on each iteration of a composed matcher.

The other option is to use hash based memoization if it's important to only call the `exist(s)?` predicate once.