19537 - update setup documentation for the rabbitmq connector

This patch updates the command syntax for the current (since November
2012) version of rabbitmqadmin.

It also adds a specific admin user to the rabbitmq instance to
create the exchanges with as guest/guest cannot as it's
in a new vhost.

Combines/closes github Pull Requests #68 and #100
maint - make 'rake deb' work again

It seemed to be that debian packages were built with the
ext/debian/patches/makefile.patch which creates a Makefile, but instead
debian/rules was calling on the Makefile in ext/

We can't really touch the Makefile in ext/ as that's also touched by the
openbsd port, but we can make a new one called Makefile.debian and call on that
instead.
Merge pull request #123 from richardc/bug/master/51

maint - make 'rake deb' work again

Fixes the issue @vincent-lauria notes in the comment to PR #51
Merge pull request #120 from richardc/bug/master/19537

19537 - update setup documentation for the rabbitmq connector
22603 - add rabbitmq.use_reply_exchange

RabbitMQ's federation mirrors only exchanges, so any reply to client
has to be send using direct exchange instead of (temp-)queue.

Adds rabbitmq.use_reply_exchange option that enables new reply behaviour.
Add tests for rabbitmq.use_reply_exchange

This patch also relays the make_target tests as I found the previous
version too dense to easily update.
Merge pull request #124 from richardc/rabbitmq_federation

22603 add rabbitmq.use_reply_exchange to support rabbitmq federation
update changelog for rabbitmq changes
(#17067) Add packaging data files to ext

This commit adds ext/build_defaults.yaml and ext/project_data.yaml, both of
which define the targets, files to be installed, and package types to be
installed. This allows our standard packaging tools to work.

This also updates the .gitignore to include the ext/packaging directory, where
the packaging tools will be cloned.
(maint) Add parens to system call to disambiguate the *.
(#17067) Load packaging tasks when available

This commit adds code to the Rakefile that loads packaging.rake if it exists.
That file defines tasks to fetch and remove the packaging tools, and to load
them when they are present.
(#17067) Prefix destdir onto plugindir and sbindir in install.rb

Previously sbindir and plugindir both did not get destdir prefixed onto them,
which meant that building for most packaging systems would fail when install.rb
tries to write to /usr/sbin or /usr/share without having root. This commit
prefixes destdir so those directories are correctly handled.
(#17067) Don't install etc/ssl/clients/PLACEHOLDER in install.rb

PLACEHOLDER exists so that the directory will be created during install. This
can be handled more gracefully in packaging, so this commit removes that file
from install.rb. Any packaging that uses install.rb will need to create this
directory.
(#17067, #14612, #19319) Templatize and improve the mcollective.spec

Our packaging tools expect to find a redhat spec template in ext/redhat. This
commit copies the current mcollective specfile into an erb file. It also brings
in the work of https://github.com/puppetlabs/marionette-collective/pull/41 to
add systemd files for the systemd init system and updates the specfile to use
them on systems with systemd.  Thanks to Steve Traylen (traylenator on github)
for the systemd work included here.
(#17067) Refactor mcollective.spec.erb to use install.rb

Previously the specfile replicated much of the logic in the Makefiles that got
ported into install.rb. This commit moves the specfile to use the install.rb
instead of doing the same work manually. Using install.rb means that certain
prereqs are checked, so BuildRequires are added for rubygems and stomp. This
also adds the docs to the common package and ensures that mcollectived has sane
permissions.
(#5924, #14206) Update debian packaging to use quilt instead of dpatch

dpatch is a long deprecated patch mechanism for debian. It is now a lintian
error instead of a warning. This commit updates the build to use quilt instead
of dpatch. It also removes unneeded patches that weren't even being applied and
also add the source/format file to indicate the package uses the quilt
standard. The commit also applies the initlsb.dpatch patch to the debian init
script for debian.
(#17067) Add a debian changelog erb template

The packaging tools expect to have a debian changelog template available to
evaluate during the debian package build. This commit adds a simple one.
(#17067) Update debian/rules to use install.rb

Previously a Makefile was sourced and used to install mcollective. Now that
install.rb is available to make the install experience consistent across
platforms, it can be used instead of the makefile. This commit updates the
rules file to use install.rb instead of that makefile.
(#17067) Add etc/mcollective/ssl/clients and plugins.d to debian package

The mcollective package contains two empty directories on redhat,
/etc/mcollective/ssl/client and /etc/mcollective/plugin.d. This commit adds a
dirs file to the debian package to create those same directories.
(#17067) Simplify mcollective.install file

Previously the mcollective.install file specified the destination directory,
even though it didn't differ from the source. It also installed the init script
directly. This commit removes the destination half of the file, as it is
implied in the source pathing. It also removes the init script installation,
which happens automatically because of how the file is named in the debian
directory.