Fix failure_message for and_returns(false)

When using a test like:

 should run.with_params().and_return(false)

The matcher consider that no value is expected in return and yields a
generic failure message:

  expected my_func to have run successfully

Since we expected 'false' we should get:

  expected my_func to have returned false instead of true

Instead of checking the value directly, track whether one is expected.
Done using a dedicated class variable.

Add basic test for RSpec::Puppet::FunctionMatchers::Run