CppTools: findMatchingDefinition handles const and volatile

Strict set to true, SymbolFinder::findMatchingDefinition will now also
check, if const and volatile matches.

Changed return type from 'Symbol *' to 'Function *' since only functions
are returned.

Change-Id: Ib55cb12b6c404e94fcefd0613b964e8caa425690
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>