Fix bugs around the finer-grained insync? protocol.
Due to the lack of effective testing around insync?, when I refactored it I
missed one of the inequality cases. This restores the correct behaviour, in a
separate commit to call out the actual change in structure better.
It includes some specific tests around the new property_matches? method, to
ensure that it preserves the current - if odd - behaviour.
Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>