use guile subrs
* src/data.c (Qspecial_operator): New variable.
(CHECK_SUBR, Ftype_of, Fsubrp, Fsubr_arity, Finteractive_form):
Update for new subr representation.
* src/emacs.c (main2): Call `syms_of_data' early.
* src/lisp.h (XSUBR, SUBRP): Remove. All callers changed.
(DEFUN): Define subrs as Guile procedures.
(functionp): Update for new subr representation.
* src/lread.c (defsubr): Update for new subr representation. Take
relevant subr properties as direct arguments instead of accepting a
`Lisp_Subr' struct; all callers changed.
* src/doc.c (Fdocumentation, store_function_docstring):
* src/eval.c (Fcommandp, eval_sub_1, Fapply, Ffuncall1):
* src/print.c (print_object):
* src/xmenu.c: Update for new subr representation.