With errno

This introduces two macros, with-errno and get-errno to safely retrieve the errno value of a foreign call in a multithreaded environment. It looks something like this:

(with-errno
  (foreign-funcall ...)
  (get-errno))

This feature is being discussed on the [mailing list](http://www.mail-archive.com/cffi-devel@common-lisp.net/msg02388.html).