(Maint) Ensure that kick tests don't trigger an agent run

This commit fixes the infamous error that appeared periodically as:

````
  1) Puppet::Application::FaceBase#parse_options should stop if the first thing found is not an action
     Failure/Error: @logs.map(&:message).should == ["'basetest' has no 'banana' action.  See `puppet help basetest`."]
       expected: ["'basetest' has no 'banana' action.  See `puppet help basetest`."]
            got: ["Could not run Puppet configuration client: Not a directory - /dev/null/state/agent_catalog_run.lock", "'basetest' has no 'banana' action.  See `puppet help basetest`."] (using ==)
````

The error came from the spec for Puppet::Application::Kick, which tried
to test the error responses from the application calling Puppet::Run.
Unfortunately only one of the 4 tests actually stubbed out the call
which ends up invoking a puppet run via Puppet::Run.

The reason this was so hard to track down is that it only occured if the
thread that was created for the puppet run executed during the later
test and added a message into the log messages tracked in memory. To
find this the kick test and the face_base test were run repeatedly until
the error occurred.

In 2.7.x, this done using ruby 1.9 with the command:

$ rspec --tag "~@fails_on_ruby_1.9.2" spec/unit/application/kick_spec.rb
  spec/unit/application/face_base_spec.rb
Merge remote-tracking branch 'upstream/2.7.x' into 3.1.x

* upstream/2.7.x:
  (Maint) Ensure that kick tests don't trigger an agent run
Merge remote-tracking branch 'upstream/3.1.x'

* upstream/3.1.x:
  (Maint) Ensure that kick tests don't trigger an agent run