Caching plugin: edit conflict detection (#479).

The server rejects a PUT request when the resource has changed meanwhile. In this case the response is 412 (Precondition Failed). The check is based on the resource's "last modified" timestamp.

The Webclient makes a PUT request conditional by adding a `If-Unmodified-Since` header to it.

So the "edit conflict detection" feature is basically available. Issues remain.

2 requests are affected for the moment:
{{{
PUT /core/topic/{id}
PUT /core/association/{id}
}}}

See ticket 479.
Merge branch 'master' into edit-conflict
Webclient fix: update model (#488).

When processing the directives of an update request the object `dm4c.selected_object` (part of the Webclient model) is updated properly.

Close ticket 488.
Caching: fix conditional PUT request (#386, #478).

Topics/associations contained in a Directives object are enriched with their modification timestamps.
As a consequence the Caching module uses the up-to-date modification timestamp when constructing a subsequent PUT request.

See ticket 386.
See ticket 478.