check the result of simple commands to improve error handling
change protocol for commands sending data to RESP (REdis Serial Protocol)
use RESP protocol for all communication to Redis server (fixing issue #1)
add raw byte versions for LeftPush/RighPush and complement LeftPop with the corresponding RightPop
Correct use of SendExpectData/ReadData vs. SendDataCommandExpectMultiBulkReply (fixes issue #3)

- rewrite Keys and GetKeys methods
- rename second GetKeys to MGet, because it returns values
- extend test.cs with a key name with space and multiple keys
avoid implicitly typed variables to simplify understanding and downgrade to .NET 2
fix call to ResponseException if Redis just returns "-ERR"

avoid System.ArgumentOutOfRangeException: startIndex cannot be larger than length of string.
for call to s.Substring(4) -- seen with MSOpenTech's Redis 2.8.9 after call to BGSAVE
Improve tests

- consequent use of assert
- write out test summary (because error messages my be overseen between log messages)
- clean up spaces
support non-ASCII characters in keys
fix encoding of file
improve generation of RESP messages
remove uses of String.Format to avoid problems with curly braces (see issue #1)
unify logging for client and server messages
Introduce low level MSet method and fix support for non-ASCII keys

- MSet fixes the implementation of Set (IDictionary<string,byte[])
- Set (IDictionary) calls the low level MSet (string [], byte [][])
- extend tests with a binary value and a non-ASCII key in MSET
Small fixes

- Shutdown expects error or nothing and closes socket
- Dispose calling QUIT expects success
- RedisTest calls Dispose
- RedisTest calls Set (IDictionary<string,string>) to cover all MSET methods
move generation of RESP strings into SendCommand and SendDataCommand
Fix Sort method considering different return types

- consider different return types depending on sort options
- adapt SortOptions class to RESP
- introduce a new low level Sort (string, string, params object [])
- rename SendCommandExpectMultiBulkReply to SendExpectDataArray
  because RedisSharp generally uses the term Data for bulk strings
- introduce new method SendExpectStringArray (called by GetKeys)
- extend RedisTest with Sort
Merge pull request #7 from rfranke/resp

Introduce REdis Serialization Protocol (RESP) to fix open issues