Some new features

Tested on WinXP / OpenSSL 1.0.1c / Lua (5.1/5.2) / MSVC 2010 Express

+ update/final methods accept string/lightuserdata and range indexes (test/update.lua)
+ writers for encrypt/decrypt/seal/open
+ resetiv method for encrypt/decrypt (test/resetiv.lua)
+ clone for HMAC/encrypt/decrypt
+ key and IV for encrypt/decrypt can be arrays (test/resetiv.lua)
+ hmac:final() can be called multiple times (like in digest)

Reorganize code that works with EVP_CIPHER_CTX