Fixed key and argument passing to eval() and evalsha()

This is an API breaking change, but unfortunately, I don't see a clean
way of getting around this. The problem is that the current API to
eval() and evalsha() both take a dict containing both the keys and
arguments, but this has 1 fundamental flaw: Retrieving the items
from a dict is not guaranteed to result in the items being returned
in insertion order, but rather random. This is just a fact with
most types of hashes unless you explicitly use an ordered dict.

The only clean way I can see of supporting keys and arguments as
expected by the script is to have two parameters: keys and args.
Merge pull request #38 from tpena/feature/eval-scripting-keys-values

Replaced key and argument passing to eval() and evalsha() - use two separate parameters for keys and values instead of dict