CppEditor: Fix virtual function lookup

* Function is pure only by its own declaration
* Support "final"
* Add unit tests

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