Feature/range loop for qmap and qhash
This feature will enable to use range loop over QMap, QHash and dtkCoreParameterCollection as follows:
QMap<QString, double> map;
map["One"] = 1;
map["Two"] = 2;
map["Three"] = 3;
auto ref_it = map.begin();
for (auto it : dtk::core::asKeyValueRange(map)) {
QCOMPARE(ref_it.key(), it.first);
QCOMPARE(ref_it.value(), it.second);
++ref_it;
}