Numerous fixes to make Unbound compile cleanly:

 - cast through void * to silence alignment warnings (presumably false
   positives resulting from poor API design)

 - constify a few function arguments

 - move prototypes for callbacks into a common header

 - now that the prototypes are in scope, fix instances of function
   definitions that don't match the prototype or what the caller
   actually passes

 - hide a conditionally unused global variable behind the same #ifdef
   that controls its use

Approved by:	re (blanket)
Forgotten in r255579: #include fixes.

Approved by:	re (blanket)
Generated configuration and documentation

Approved by:	re (blanket)
Regenerated lexer and parser

Approved by:	re (blanket)
Move more prototypes around, and remove one that wasn't used.

Approved by:	re (blanket)