Update existing managed objects instead of creating new ones

This patch adds the ability of updating existing managed objects when a primary key is provided in the mapping, as opposed to creating new objects. Includes relevant spec.