Bugfix for #4971: Scene.unlink() was incorrectly decrementing the datablock user count whenever an object was removed from a scene, instead of only when the object's count reached 0. The Python code was modified to use the existing free_and_unlink_base() function (with some modifications to allow specifying a scene). Also fixed a bug with the undocumented return codes from the method; it now returns True if the object was found in the scene.