Prevent an error in the call to (DEFCONSTANT +ERROR-RETURN+)

The initialisation form to DEFCONSTANT calls ICONV-OPEN. Since the last fix,
this function is now a normal function instead of a CFFI function. This meant
that this function was not available while the DEFCONSTANT initialisation form
was evaluated.

This fix places this function inside an EVAL-WHEN construct to make sure it's
available to the subsequent call to DEFCONSTANT.
Change the type declaration of the return value for %iconv
It used to be :INT, but the function actually returns a size_t, and this
can cause problems on some 64-bit platforms. A much better type to use
is :UNSIGNED-LONG (as mentioned here, for example:
http://common-lisp.net/project/cffi/manual/html_node/Tutorial_002dCallbacks.html).

This change also allows us to simplify the computation of +ERROR-RETURN+, which
in turns allows us to remove the EVAL-WHEN construct surrounding the declarations
of the CFFI functions.
Merge pull request #2 from lokedhs/master

Fix compile error caused by the previous fix