Runtime type checks should only check for the mock up type, if
neccessary. If objects of another class than the mocked object itself
are processed, runtime type check should only check for the base-class
type. It should be possible to use mockup objects and non-mockup objects
within the same application.
The included headers are adapted accordingly.
According to a remark in PR #738 the lower case type name is changed.
Underscores should only be used between namespace and type name and
between type name and suffixes.
Query factory was implemented using a public global variable
qof_query_factory.
Furthermore a query pool is easier to handle than a factory, since the
whole management can be hidden from the user.