if ISC_BUFFER_USEINLINE is defined, then macros are used to implement isc_buffer primitives (isc_buffer_init(), isc_buffer_region(), etc). otherwise, functions are used. previously, only the functions had DbC assertions, which made it possible for coding errors to go undetected. this commit makes the macro versions enforce the same requirements.