sqlite3: extract more info

memberdef table changes:
* rename bstart to bodystart
* rename id_bfile to id_bodyfile
* add bodyend
* add {brief,detailed,inbody}description

Signed-off-by: Adrian Negreanu <adrian.m.negreanu@intel.com>
sqlite3: SQLITE_TRANSIENTs

In table basecompoundref, use SQLITE_TRANSIENT for
base, derived, refid
testsqlite3: a test for sqlite3gen

This verifies the 'memberdef' table against the generated XMLs.
It accomplishes this by executing a sql query, constructed by iterating
through the children and attributes of the memberdef XML element.

The information translated from xml to sql, is then removed from the DOM,
and the unprocessed bits are printed as warning messages.

usage:
    testing/testsqlite3.py -d /.../doxygen_sqlite3.db -x /.../xml/test__x11_8cpp.xml

output:
WARNING: 'location' has unprocessed attr 'bodyend'
WARNING: 'memberdef' has unprocessed child elem 'briefdescription'
WARNING: 'memberdef' has unprocessed child elem 'detaileddescription'
WARNING: 'memberdef' has unprocessed child elem 'inbodydescription'
WARNING: 'memberdef' has unprocessed child elem 'location'
WARNING: 'memberdef' has unprocessed attr 'kind'
WARNING: 'memberdef' has unprocessed attr 'prot'
WARNING: 'memberdef' has unprocessed attr 'static'
WARNING: 'memberdef' has unprocessed attr 'id'