Fix check in rpc_get_fact_direct and rpc_get_facts_direct

Fix the parentheses in a check in rpc_get_fact_direct and rpc_get_facts_direct.

In Ruby, 'defined? a && b' is grouped not as '(defined? a) && b' but rather as 'defined? (a && b)', so the non-parenthesised form will always return non-nil (specifically, the string "expression") without checking the operand b.  (The foregoing describes the behaviour in Ruby 1.9; Ruby 1.8 returns "expression" as long as the operand a is defined.)