support nested list and longs to eval with pipeline / add binary eval commands to pipeline

It fixes #599 and #603 and #690, and #740 .

Currently Pipeline doesn't have binary version of eval commands.
And eval commands with Pipelined cannot handle nested list and longs.
I've fixed such things and request for pull.

* apply nested list and longs to eval/evalsha with pipeline
* add binary eval/evalsha commands to pipeline
* define interfaces to have (Binary) eval commands
  * BinaryScriptingCommandsPipeline
  * ScriptingCommandsPipeline
* add unit tests for binary eval/evalsha with pipeline
* fix some warnings from ScriptingCommandsTest

Please review and comment!
Thanks!