Revert API changes in "Unify Manager._update behaviour"

This revert some of commit 63073104665ee4597cf3b7aa8dc2295a8a7db794,
specifically the changes made to the API since those changes were
never merged in Nova.

Introduce a needed change in base.py so that _update always returns
an instance of self.resource_class.

Resolves bug 1145768.

Change-Id: I8f83c5a33cfed0c3a659f5221b8b2e730ca9463f