Experimental supports for Python 3.3 and higher

Significant changes:

- Make the testing pass on the Python 3.3
- The default type of container types is vary on the runtime version. It will be `ByteString` on Python 2.x, and be `UnicodeString` on Python 3.x. The reason of this change is to do not edit the testing code too much.
- Some hidden bug were fixed.
  - Saving a sorted set doesn't optimized properly on Redis 2.4 or higher. (5b0f9f1d3e)