0.8.17.31: "dlerror and a tale of woe"
    Fix two bugs relating to dlerror() in the OS X dl* shim:
      * dlerror() should return NULL when there is no error
      * dlerror() should return an error when dlsym() returns NULL
    Also, fix a call to cerror with only one argument.
    Restores support for OS X 10.2 "Jaguar":
      * Use a header file with constants for the dl* shim instead of the
        OS dlfcn.h, which doesn't exist under 10.2 and does under 10.3
      * Include a fake nl_langinfo which returns a codeset of UTF-8 unless
        neither LC_CALL or LANG are set to C. OS X uses UTF-8 everywhere, so
        this is arguably the right behavior.