BinaryJedisCommands, ScriptingCommands, BinaryScriptingCommands

This pull request has the ScriptingCommands changes I had for the other pull request. I also included the implementations I made for BinaryScriptingCommands and BinaryJedisCommands for cluster. I also moved the BasicCommands from JedisCluster to BinaryJedisCluster. 

An issue I found is the binary scripting command eval(final byte[] script, final byte[] keyCount, final byte[]... params). It returns the exception "Lua redis() command arguments must be strings or integers", even though the keyCount is a valid byte array.