Don't push a callback if it didn't exist
A hackish way to replace nulls with undefineds in the redis get commands

The reasoning is to be consistent with Mongo behavior when the absesence of
value is represented by undefined rather than null. This is also more
consistent with the general JS behavior (ex.: ({}).nothing === undefined).
Be more careful with local redis commands.

Local redis commands should not fire an RPC. Accidentally the previous
patch has broke the async logic.