Use byte strings when storing & returning data.

redis-py does this as well.
Get rid of b(); .encode('utf8') works fine in most cases.
Fix nits.
Fix 'keys' & 'scan match' with non-unicode strings
Attempt to fix python3.2 test failure.
Merge branch 'develop' into feature/byte_strings_everywhere

* develop:
  Fix the TTL -1/-2/None confusion - it varies by strictness.
  Fix scan: the cursor is returned as a long in redis-py.

Conflicts:
	mockredis/client.py
	mockredis/tests/test_redis.py
Update CHANGES.md for the previous two commits.
Get rid of the last few places calling str()
Merge remote-tracking branch 'upstream/develop' into feature/byte_strings_everywhere

* upstream/develop:
  Fix the return values of HMSET and HSET
  Prefer using redis-py's exception classes over our own.

Conflicts:
	mockredis/client.py
	mockredis/tests/test_hash.py
Merge pull request #70 from mikekap/feature/byte_strings_everywhere

Use byte strings when storing & returning data.