sqlite3: speedup the SELECTs

The uniqueness of rows is maintained by first doing a select.
In case the item is not found, it's INSERTed.

This is done for files, refids, params and includes, data
that is not unique by itself, like cross-references for example.
In other words, you can have many memberdefs in one file,
but you can only have one cross-reference between two functions
since the reference location is unique.

So, when SELECTing files and refids, use the file name and refids
as primary key since that's the fastest way to do it.

Also 'OR REPLACE' not necessary in 'INSERT OR REPLACE'.
util/patternMatch: avoid calling data() each time

Signed-off-by: Adrian Negreanu <adrian.m.negreanu@intel.com>
optimize
config.l: dependency checks for booleans

Disable the boolean option that has its dependency disabled.
This fixes the case where GENERATE_TREE_VIEW is set to TRUE
even when its dependency GENERATE_HTML is FALSE.

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

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

Signed-off-by: Adrian Negreanu <adrian.m.negreanu@intel.com>
cache anonymous into ClassDefImpl::isAnonymous
Parallelize computeMemberRelations()