Add bindings for x509v3
Move macro things to macros
Add initial bindings
Do not redefine EVP_CIPHER
Merge pull request #136 from cyli/pem

Add bindings for pem (Refs #77)
Add some functions to the macros section since they changed from non-const to const between openssl versions
Merge pull request #131 from cyli/x509v3

Add x509v3 bindings (Refs #77)
Merge pull request #141 from reaperhulk/block-cipher-buffer-sizing

Fix Block cipher buffer sizing
block cipher decryption support

This is a squash of previous commits plus new ones. Ran into a pile of
conflicts during the rebase and decided this was an easier way to retain
a sane commit history