adjust the to_dict output of model rows

The resulting dict now always includes `pkey` and may or may not contain
`current` and `desired`, depending on their presence in the row.

Signed-off-by: Jan Dvořák <mordae@anilinux.org>
fix Model.path_row()

Signed-off-by: Jan Dvořák <mordae@anilinux.org>
fix invalid model access in placement

Signed-off-by: Jan Dvořák <mordae@anilinux.org>
fix GETs of composite-pkey entities

Signed-off-by: Jan Dvořák <mordae@anilinux.org>
disallow mutation on virtual tables' endpoints

Signed-off-by: Jan Dvořák <mordae@anilinux.org>