bson: custiomized read() support
build: cleaner output
bson: clean up some nits
reader: add check for reader type in guards.
types: add documentation for bson_read_func_t.
reader: whitespace and doc cleanup.