SYNOPSIS
	mixed prepare_destruct(object obj)

DESCRIPTION
	Prepare the destruction of the object obj. Return 0 if the
	object is ready for destruction, any other value will abort
	the attempt. If a string is returned, an error with the string
	as message will be issued.

	The interpreter calls this function whenever an object shall
	be destructed. It expects, that this function cleans the
	inventory of the object, or the destruct will fail.
	Furthermore, the function could notify the former inventory
	objects that their holder is under destruction (useful to move
	users out of rooms which re updated); and it could announce
	systemwide the destruction(quitting) of users.

	Strange things will happen if the mastor object does not
	provide this function.

SEE ALSO
	remove_player(M), destruct(E)
