Fix autoconf check for function attributes. GCC warns when a function attribute has no effect. The autoconf check turns warnings about attributes into errors, therefore thinking that they did not work. The reason was that the test function returned void, which is not suitable for checking both __malloc__ and __warn_unused_result__.
Reorder checks for libraries to allow ./configure LDFLAGS=-static. OpenSSL depends on libdl and libz. When linking dynamically, libcrypto will automatically link with the other two libraries. However, when linking statically, these libraries need to be specified explicitly while linking. By moving the autoconf checks for libdl and libz before those for libcrypto, we ensure the latter test will be done with the proper libraries.