Re-organize headers and add more generic macros
- Split the gigantic <tao.h> header in smaller headers. - Make most structures opaque. Structure definitions are in <tao-*-private.h> headers. - Reduce the number of rebuilt files when a header is modified. - In code, TAO headers should be included first, then "config.h" (if needed), finally standard C headers. - Eliminate compatibility code for Booleans (trust <stdbool.h>). - If one is lazy, <tao.h> can be included; but it is generally sufficient to include a subset of the TAO headers.