Model properties need to be private or Doctrine fails

Also move the unkown field check into AbstractRestfulController::objectToArray()
where we can actually do the proper check (on getter methods, instead of
properties). And finally adapt unit tests to reflect those changes.