Implement pttl
Update sadd to write values as strings

Pyredis writes values as strings for most things, including sadd. This change writes sets as strings:

In [2]: redis.sadd('test_set', *range(3))
Out[2]: 3
In [3]: redis.smembers('test_set')
Out[3]: set(['1', '0', '2'])
add +inf and -inf to sorted set min/max queries
Stringify values on hmset
Add test for stringly-typed hmset values
Merge branch 'danielsoneg-hmset-strings'

* danielsoneg-hmset-strings:
  Add test for stringly-typed hmset values
  Stringify values on hmset
Use builtin python +inf/-inf values for zrange

Simplifies the code a bit.
Merge branch 'oyiptong-master'

* oyiptong-master:
  Use builtin python +inf/-inf values for zrange
  add +inf and -inf to sorted set min/max queries
Add test for #52
Merge branch 'bwu-patch-1'

* bwu-patch-1:
  Add test for #52
  Update sadd to write values as strings
Merge branch 'clee704-pttl'

* clee704-pttl:
  Implement pttl
When sorting desc should be done before slizing the result. Added new test to ensure functionality.
Fix #57. Remove deleted key from _ex_keys
Merge branch 'Grokzen-master'

* Grokzen-master:
  When sorting desc should be done before slizing the result. Added new test to ensure functionality.
Merge branch 'aivus-fix_expire_delete'

* aivus-fix_expire_delete:
  Fix #57. Remove deleted key from _ex_keys
Update README with latest supported commands
Bump version to 0.4.3
Make FakeStrictRedis inherit redis.StrictRedis

Some libraries check whether the type of an argument is
redis.StrictRedis or not. If FakeStrictRedis is complete, this
inheritance should make no difference.
Make FakeRedis inherit redis.Redis