RESTful Facets service: fix topic refs (#629).

Update facet requests via REST: topic refs are handled properly for single-value facets.

BREAKING CHANGE

Facets API and REST API has changed.

Single-value facets and multi-value facets are updated with the same calls.
Also for single-value facets a `FacetValue` object is involved.
Class renamed:
    `FacetValues` -> `FacetValue`

2 forms (1 with ID param, 1 with object param), the 1st is RESTful:
{{{
void updateFacet(long topicId, String facetTypeUri, FacetValue value, ClientState clientState)

void updateFacet(DeepaMehtaObject object, String facetTypeUri, FacetValue value, ClientState clientState,
                                                                                 Directives directives)
}}}

REST API:
{{{
PUT /facet/{facet_type_uri}/topic/{id}
{JSON object in message body}
}}}

Note: the request format is the same for single-value facets and multi-value facets.
`/multi/` does not appear anymore in the request URI.

The JSON object in the message body is a composite value with exactly one entry. Syntax is the same as in an update request. All value formats are supported: topic value (compact format, strings), entire topic model (simple or composite), or topic reference (by ID or by URI), or an array of these (for multi-value facet).

Example (single-value, create new child):
{{{
PUT /facet/ka2.bezirk.facet/topic/3575
{"ka2.bezirk": "Friedrichshain"}
}}}

Example (single-value, refer to existing child):
{{{
PUT /facet/ka2.bezirk.facet/topic/3575
{"ka2.bezirk": "ref_uri:ka2.bezirk.mitte"}
}}}

Example (multi-value, create 1 new child and refer 1 existing child):
{{{
PUT /facet/ka2.criteria.zielgruppe.facet/topic/3575
{"ka2.criteria.zielgruppe": ["AktivistInnen", "ref_uri:ka2.category.jugendliche"]}
}}}

See #629.