Fix check in rpc_get_fact{,s}_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.)