inline method from unnecessary module
remove unnecessary requires
separate LWRP test helpers from Pacemaker library helpers

Also make the runnable_resource helper require the new provider helper,
to reduce the number of 'require' lines needed in LWRP tests.
Add helpers to be able to "synchronize" nodes in the cluster

When non-founder nodes call:
  PacemakerHelper.wait_for_mark_from_founder(node, cookbook_name, "pki-sync", node[:keystone]["crowbar-revision"])

they will be blocked until the founder calls:
  PacemakerHelper.set_mark_if_founder(node, cookbook_name, "pki-sync", node[:keystone]["crowbar-revision"])

This also comes with a LWRP, to enable synchronization in the second
phase of a chef run. It can be used to allow the founder to execute some
resources first. For instance:

  - before the critical code that the founder should run first:

    crowbar_pacemaker_sync_mark "wait-for-endpoints-mark" do
      mark "endpoints"
      revision node[:keystone]["crowbar-revision"]
      action :wait
    end

  - after the critical code that the founder should run first:

    crowbar_pacemaker_sync_mark "set-endpoints-mark" do
      mark "endpoints"
      revision node[:keystone]["crowbar-revision"]
      action :create
    end

If the revision parameter is not passed, then
node[cookbook_name]["crowbar-revision"] will be used, which is
convenient for crowbar integration.

The name of the crowbar_pacemaker_sync_mark can also be used to
automatically generate the mark parameter and make it optional. For
instance:

    crowbar_pacemaker_sync_mark "wait-test-def" do
      action :wait
    end

    crowbar_pacemaker_sync_mark "create-test-def" do
      action :create
    end
Add helper to synchronize all nodes

Previous work was working with a model of "one node goes first", but a
we also need a "wait for all nodes" model.

This adds a CrowbarPacemakerHelper.synchronize_on_mark helper, as well
as a :sync action for crowbar_pacemaker_sync_mark.
Add some documentation for synchronization helpers
Make default action for crowbar_pacemaker_sync_mark :sync

This is probably more useful than :wait.
Add a new :guess action for crowbar_pacemaker_sync_mark

This will guess the right action based on the name; this is something we
were doing to guess the mark, but we can go further and actually guess
the action too.

This is the default action.
Remove name of cookbook from synchronization marks

This is actually not useful because the name of the marks have to be
unique (otherwise, the various crowbar_pacemaker_sync_mark resources in
different cookbooks will conflict).
Add some doc for LWRP
eliminate code duplication with shared context for LWRP tests
tidy up requires

It's really ugly to have to keep repeating File.dirname(__FILE__),
so we use a temporary variable, even in the case of a single require.
This minimises long "requires" lines and "requires" statements with
needing line-breaks, and should make search-and-replace a bit easier
if we later want to migrate to __dir__ (Ruby >= 2.0) or require_relative.

  http://stackoverflow.com/questions/4333286/ruby-require-vs-require-relative-best-practice-to-workaround-running-in-both

I've deliberately rejected the pattern:

  require File.expand_path('../relative/path', __FILE__)

because it relies on inconsistent semantics and inconsistent
documentation in File.expand_path:

  http://stackoverflow.com/questions/4333286/ruby-require-vs-require-relative-best-practice-to-workaround-running-in-both#comment34147297_4333552
remove unnecessary stubs

If these are required across multiple spec files in the future, they
should be refactored into a single shared_context.
add missing require

This wasn't breaking anything, but it's bad coding style to
rely on implicit dependencies.
vertically align provider tests for quick visual comparison
add debugging to Guardfile
try to get Guard only running the changed provider test

But still doesn't work for some reason :-/
move duplicated test_modify to Chef::RSpec::Pacemaker::CIBObject
move Mixlib::ShellOut stubbing code to separate module

It was not specific to Pacemaker in any way, yet was previously in
Chef::RSpec::Pacemaker::CIBObject, in a file alongside other
Pacemaker-specific code.
test delete action better, even for non-runnable LWRPs