ABCL lisp callback fixes

 * call lispify-value on args to lisp callback functions, which
requires passing the argument-types to covnert-args-to-lisp-values

 * clean up invocation of convert-args-to-lisp-values
Fix POINTER-ADDRESS for e.g. Long.MAX_VALUE.
Be less safe, let NULL-POINTER-P raise an error.
Fix callback return values.
handle :void in lisp-value-to-java
fix %foreign-symbol-pointer with non-default library

 * we get passed the actual library object, so no need to look it up in *loaded-libaries*
fix char and unsigned-char callbacks
use jcall-raw instead of jcall in a number of places where the return value doesn't need to be lispified
use jcall-raw instead of jcall and convert to lisp-values as needed inside lispify-value
use jcall-raw in %foreign-alloc and foreign-free

 * but cheat and return nil in foreign-free because that's what it's supposed to return
added simple makepair fsbv test which returns a pair struct
ABCL performance enhancements

use closures with variables to cache various methods to avoid a lot of introspection
copy-from-foreign-vector performance enhancement

 * call java:jobject-lisp-value directly instead of lispify-value in copy-from-foreign-vector as it is much faster
abcl:  restore compliation by moving declarations before use in closures.
style: non-functional change.