ertrie updates: finally works again after further generalization.

The main change here is that I added functions for getting and setting
the leaf entries (i.e. not the leaf internal nodes, but the actual
entries within those leaf internal nodes).  By default, these entries
are just treated as pointers.
ertrie enhancements:  moved all access functions (including initfn and isnull) to operate on pointers, rather than return values

The previous commit (forgot to mention) enables the generic set and
get of the actual leaf values (e.g. dereference the pointers in the
default implementation).
ertrie enhancements: added parameterized internal node sizes.
ertrie update: patched a final calculation to take into account internal node sizes
ertrie update:  small comment
Added captbl initial implementation.

Still has a few too many branches, and uses the default access/modify
routines, but this is a decent first draft.

TODO:
- Remove branches for tree walking
- figure out how to get the redundant != NULL and < maxid checks out of the binary
- concurrency-safe modifications
- Capabilities of different sizes
First draft implementation (UNTESTED) of the captbl.

Lookup, add, expand, shrink.
Unit Tested captbl done.

Has multi-sized capabilities, and checking to make sure that the
correct size is used, and that allocated vs. freed is accurately
tracked.  Added code to the capability translation to return NULL or
the pointer depending on if it is allocated or not.  This uses
branch-free code based on bit operations, assuming twos complement
(i.e. 0-1 = MAX_UINT).