(QENG-1032) Fix for tests without a master host

If a master role is not defined in the current test's config, then
setting a default node will fail. The code is expecting "hosts" to be a
list, but it is actually a hash. This commit fixes this issue and
adds a new spec test to validate a non-master single node is set as
default.
Merge pull request #387 from colinPL/qeng_1032

(QENG-1032) Fix for tests without a master host