Merge pull request #19 from spryly/master

Allow direct use of client actor
Typeclass based deserializer
Remove RedisReply
Minor cleanup for PartialDeserializer
Make sure RawReply is immutable outside of the package
Cleanup PartialDeserializer instances
Ensure command wrappers return correct future type in compile time
More locally mutable RawInput
More generic MultiBulk reader
Replace intermediate List to Iterator
More optimizations
MGet returns Map instead of List[Option]
Merge pull request #18 from guersam/tmp/refactor-reply

Typeclass based deserializer
Bump version to avoid confliction
Make API type-safer

Changes:
 - Restrict type of keys (including hash's) to `String`
 - Parameterize type of values
 - Rename `Format` to `Write`, `Parse` to `Read`

TODO:
 - Combine `Read` and `Write` into `Format`
 - Support various argument types for lua scripting
Change argument order of SET as documented

Redis server dont' care of which of [EX|PX] or [NX|XX] comes first, but
changed to match the documentation to avoid confusion.
Combine `Read` and `Write` into `Format`

Trait `Format[A]` has both `Read[A]` and `Write[A]`. Inner object
`Implicits` is now top-level trait/object `DefaultFormats` so users can
use implicit readers/writers with single import or mixin.
HKEYS returns `String` only
Minor improvements
Avoid unnecessary `.toList` in `RedisCommand.line`