Changed the way commands are packed to increase performance

I have initially made this change on an older version, when BytesIO was not used yet. The performance improvement was really significant.
Compared to BytesIO, the join still gives a nice performance improvement in the few tests I did.

Side note: Removing unicode support and using imap(str, args) also gives a nice improvement. It might be worth adding the option to disable unicode support in some way for people who need maximum performance and don't use unicode strings on redis.