Add support for crypt_r() to make the library thread-safe

- Add support for binaries as key and password.
- Make the buffers used for key and password dynamic by using alloca()
- Remove local crypt.h header to avoid collisions with system header
- Add conditional compilation arguments to compile on non-thread-safe
  environments (i.e. Mac OS X)
- Update version to 0.3.0