Bytearray support

See https://bugs.launchpad.net/pycrypto/+bug/1256172

bytearray/bytes support was introduced in Python 2.6 and they were supported in hashlib functions from 2.7. This pull requests adds bytearray support for all hashing & cipher functions where previously strings or bytes had to be used for all Python versions from 2.6 onwards.

All tests including new ones pass on Python 2.4, 2.5, 2.6, 2.7, 3.1, 3.2, 3.3, 3.4 on Ubuntu 12.04.

I have been unable to test on 2.1, 2.2, 2.3, 3.0.