Disable type enforcement for properties with names equal to type names.

Now if you try to use some property named like an SMW builtin type
(for example, "[[Telephone number::jqlqdjq]]"), its type will be
always forced to be Telephone number, i.e. you can't override it
with [[has type::]]. I think this is an unevident and undocumented
behaviour, so this patch disables it.

Change-Id: I4b4922c6d5df4d3455d667f98732e13bab403769
QueryProfilerDecorator to replace QueryData

## Summary
The change does the exact same thing as [1] (this is also why the #ask,
#show tests didn't need any alteration besides the constructor) but it
injects a Subobject instead of a Title object (which makes it independent
from a MW data object) but more importantly it now uses a Decorator [2]
for construction meaning that an additional profiling item such as
duration would add a new component instead of changing the content of
the original class and with it leaving existing tests untouched.

Splitting the class lowers the SRP violation from [1] due to the
elimination of multi-object injection that persisted before
making it possible for a decorator component to handle only a specific
object (QueryFormat, QueryDescription etc.).

## Follow-up
* Move classes into SMW\Query\Profiler namespace
Merge pull request #17 from SemanticMediaWiki/query-profiler-decorator

QueryProfilerDecorator to replace QueryData
Merge pull request #21 from mediawiki4intranet/disable-enforced-types-master

Disable type enforcement for properties with names equal to type names.
Merge branch 'master' of ssh://review/mediawiki/extensions/SemanticMediaWiki