Make handoff warn but not drop large objects

The code was restructured a bit to avoid losing data during a handoff if
the object has too many siblings or is too large.
So direct puts will fail if too many siblings or are too large, but if
an object is moved by handoff somewhere, it will just generate a
warning.
Jon made me do it.