Add empty stub for an aggregated property model and integrate it.

Doesn't show anything yet apart from the right row count. This will
eventually replace the static, dynamic and non-QObject property views
with a single aggregated view.
Add index mapping and implement data().
Implement flags() and headerData().
Implement setData() and dataChanged().

That's basically it, since we currently don't support adding/deleting
dynamic properties the missing row change signal handling isn't really
a problem yet.
Make sure all property source models have the same column count.
Add basic UI for adding new dynamic properties.
Add a wrapper to defer variant unpacking when invoking remote methods.

So far you couldn't call methods on the server that take a QVariant as
argument since MethodArgument did try to unpack it to its content, and
then of course no method with a matching signature is found.
Send new dynamic properties to the server and set them on the object.
Allow to query what types we have an editor widget for.
Add a model for all types we can edit.
Integrate the editable types model for adding new dynamic properties.
Distinguish an existing but invalid argument from a non-existing one.

Without this we couldn't call setProperty() with an invalid QVariant as
second argument as it would be looking for a method with just one QString
argument.
Add context menu to remove a dynamic property.

This still needs a check if the property can actually be removed.