17930 - mcollective: direct addressing mode when using reply queue

The fire_and_forget mode of requests were not made direct_request
aware while adding the direct addressing communiations mode.

The result of this was that setting :process_results => false and
doing direct requests would result in the request always being broadcast
and not sent out only to the nodes supplied via the discovery layer

This addresses that and adds tests around this method
17930 - mcollective: direct addressing mode when using reply queue

Also handle the case where a discoverer forces direct mode but no
discovery has been done yet
17930 - mcollective: direct addressing mode when using reply queue

And handle the case where the 'mc' discovery method is used and specific
node information is supplied that is not a regex
maint: setup travis ci for PR testing
17034 - MCollective Async Result Handling doesn't work as expected with RabbitMQ

In order to process async style requests where the request has a reply
that indicates a different destination the request must have correct
reply-to headers set.

Previously the connector did not set this when a custom reply-to address
was specified in the message, this commit fixes that.
17034 - MCollective Async Result Handling doesn't work as expected with RabbitMQ

Provide test coverage and changelog
19367 - Missing StringIO require

require stringio in lib/mcollective.rb instead
19367 - Missing StringIO require

update changelog