cloning here is unlikely to have desired effect due to the shallow cloning that ruby does, need to manipulate the one client into the various modes here I think and reset back to defaults when it turns out it found nothing.

However that said there are many cases where stdin could be empty for example:

    mco rpc foo -j | jgrep something | mco rpc bar

if the grep returns an empty array then empty discovery and error 'no nodes found...' is the correct behaviour and we should not fall back to default discovery.

So I think we should keep the old logic here but just punt to the stdin discovery method and fail when that returns nothing.

Did you have a use case for the fall back behaviour?