Define callbacks by returning the struct pointer, without setting specials

Macro defcbstruct and all the macros built on it now simply return the
C struct needed by GSL functions instead of binding a special whose
name is then passed to the GSL functions. Specials can still be used
of course in the standard way like defparameter, but the results can
also be bound locally with a let or passed in directly. The name of a
callback passed to defmcallback and to defcbstruct in all the macros
that expand both is now gensymmed (since it is used only long enough
to put in a slot of the cbstruct) instead of taken to be the name of
the CL function, in order to make clear the different objects.
Unfortunately, there is appears to be a bug in CFFI using defcallback
with an uninterned symbol in CCL, so I have put a workaround in.
However, there is still another error even with this workaround.
Thus test results are:
SBCL 64: TOTAL: 1248 assertions passed, 5 failed, 0 execution errors.
CCL 64: TOTAL: 1229 assertions passed, 2 failed, 6 execution errors.