Don't bypass overwritten [set]data() methods in the proxy.

By calling itemData() of the source model directly, the result cannot
contain data provided by the proxy model itself. The base class
implementation however will call data() on the proxy instead.

Cherry-picked from qtbase/96e3c2bcbfedc8b5cb8fc099229a02a1fa335c21.

Change-Id: I7e8b65ab045382089c577d9832edc1555b71419e
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Make QContiguousCache with zero capacity not crash

These containers don't make sense and will just result in no action
being taken (all items added will simply be discarded), but it
shouldn't crash due to a division by zero.

Task-number: QTBUG-27339
Change-Id: Ib9acf5c0a9a826e6853e7beaf5e56511fde98dc6
(cherry-picked from qt5 commit 320c4e31e124f99601399d00935362b587c77510)
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>