MCO-457 Remove the json gem from the repository
MCO-457 Remove vendoring artifacts

Here we remove lib/mcollective/vendor/load_json.rb and move the
require of json up from lib/mcollective/vendor/require_vendored and
into lib/mcollective.rb
MCO-457 update packaging metadata to use local json

State the requirement for some kind of ruby in the packaging metadata, and stop
excluding/expecting the vendored json distribution.
MCO-470 Report stomp-gem version in connectors

Here we add a logline that'll help a little in debugging misbehaving
daemons, as it can often be caused by using older versions of the
stomp gem.
MCO-456 expose target collective to discovery plugins

With this commit we expose the target collective to the discovery plugins, by
adding a key "collective" into the filter hash.

It's expected to be useful in the mongodb discovery filter per this
mailing list thread:
https://groups.google.com/forum/#!msg/mcollective-users/wMk2ms5yp5M/11OEJT6MxewJ
Merge pull request #239 from richardc/MCO-470-report_stomp_version

MCO-470 Report stomp-gem version in connectors
Merge pull request #238 from richardc/MCO-457_devendor_json

MCO-457 devendor json
Merge pull request #240 from richardc/MCO-456-expose_target_to_discovery_plugins

MCO-456 expose target collective to discovery plugins
MCO-474 Force the --daemonize option on win32

The win32 service created didn't specify the --daemonize option as added to
other init scripts in MCO-416.  Here we correct this oversight.
Merge pull request #241 from richardc/MCO-474_force_windows_daemonize

MCO-474 Force the --daemonize option on win32
MCO-472 Add a collective data plugin

Here we add a collective data plugin to allow for the membership of a
collective to be testing in the compound filter language.

Example:
    mco find -S 'collective("us").member=true'

This compliments the visibility of collective in the filter feature added as
MCO-456.
Merge pull request #242 from richardc/MCO-472-collective_data_plugin

MCO-472 Add a collective data plugin
MCO-475 Reraise uncaught exceptions in the receiver_thread to the main thread

If an uncaught exception happens in the body of the reciever_thread
it simply exits unlogged.  With this commit we catch exceptions
raised in this thread and reraise them in the main thread (unless
we're pausing, as we just killed the thread and don't want it
shooting back)
Merge pull request #243 from richardc/MCO-475-runner_exceptions

MCO-475 Reraise uncaught exceptions in the receiver_thread to the main t...
Revert "MCO-456 expose target collective to discovery plugins"

This reverts commit c7d38b54916f2469d9c973bbabc30ae078c0a6bb.

In acceptance testing I see that this is breaking the unfiltered use-case as
Util.empty_filter? fails when the filter contains a collective.  Will propose a
more robust version.
MCO-473 Handle exceptions in securityprovider#decodemsg

Here we add an unverified version of the senders identity to the message
headers as 'mc_sender'.  It's used for error reporting when handling
a failure to call #decodemsg on the configured securityprovider.  If we're in
that state we don't have access to the verified identity of the message sender
as it's in the body unpacked.

We also add variant handling of the exception.  If we can be assumed
to be a server (msg#type == :request) then we raise the error as
before.  If we're a client then we log the exception as a warning
along with the unverified 'mc_sender' header, and attempt to carry
on, handling responses from other agents.
Merge pull request #245 from richardc/MCO-473-exceptions_in_securityprovider_kill

MCO-473 Handle exceptions in securityprovider#decodemsg
(MCO-478) - Update docs to reflect the default value of
direct_addressing

This commit updates the client and agent configuration docs to reflect
the fact that direct_addressing is enabled by default.

This change was made in #19665.
Merge pull request #246 from ploubser/MCO-478

(MCO-478) - Update docs to reflect the default value of
MCO-465 ensure service_manager.rb finds a ruby

Previous to this commit the code would use $RUBY or a search of $PATH to
attempt to find a ruby executable to form the service command line
(`ruby_path`).  It was possible for $RUBY to contain a string that
wasn't a fully-qualified path ("ruby.exe"), but would still satisfy
a simple boolean test (to ruby all strings are true.)

Here we extract find_ruby_in_path and restructure the preamble a little so that
we can be more certain that ruby_path is resolved to a file that exists.