Merge pull request #15 from richardc/make_specs_more_robust

maint - make the spec tests a little more robust
(maint) Add ext/packaging to .gitignore
(maint) Don't require mcollective for all tasks

Because the test task is defined using an RSpec object, if rspec is installed,
many other libraries will also be loaded, which will cause failures on builders
trying to use the rake tasks. This commit lessens the risk by trying to load
mcollective, and rescuing the load error. If mcollective successfully loaded,
we continue to try to load the other libraries. This could still fail, but
failure is less likely. Really, the test task definition needs to be completely
reworked.
(maint) Add packaging tasks and hooks

This commit adds standard packaging tools and hooks to load those tools.
(maint) Add packaging data files

This commit adds the data files that drive packaging to ext. This includes
project_data.yaml and build_defaults.yaml.
(maint) Add packaging artifacts for debian and redhat

This commit adds packaging artifacts for debian and redhat. This will allow the
plugin to be built using our standard toolset. The artifacts have been written
so that the packages behave equally to the currently produced
mcollective-pluginpackager packages.
(maint) spec.opts is deprecated in favor of .rspec
(maint) Refactor test task to use standard rake notation

Previously the test task was defined using rspec::core::rake_task, which
evaluates all of the code and loads needed libraries. Unfortunately, this means
that even if someone weren't intending to run rake test, they would need all of
the test dependencies. This commit addresses that by updating the test task to
shell out to rspec, passing along the test pattern. This allows the needed
libraries to be loaded only when required, and not when evaluating the
Rakefile.