Allow to directly query objects through object's id.

The change inserts, if given, an object id to request path. It allows
to construct query objects with only type name and id. Such query is
equivalent to a "view" request, that means that instead of returning
a array of results it gives full object only as a result.

From user perspective this change simplify certain group of queries,
for example this query:

QJsonObject query = {{"objectType", "objects.foo"},
                     {"query", {{"id", "1233"}}}};

could be changed to:

QJsonObject query = {{"objectType", "objects.foo"},
                     {"id", "1233"}};

The change cleanups a bit path computation, by not adding an object id
as a fall-back operation. Because of that hint IncludeIdPath could be
replaced by RequireIdPath, which is easier to interpret. It shows that
an operation has no chances to success if an id is missing.

Change-Id: If2bf09da0d7c4388493476a16b138640022c8581
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>