FormLayoutAttached: Fix checks in setter of buddyFor property, add tests
Previous check didn't allow setting buddy for more than once (except for
marginal case of setting deeper and deeper children, which isn't well
supported by positioning code anyway). Not a highly needed feature, but
it better be working properly. Also the code did not perform any checks
that old m_buddyFor was non-null pointer, so the whole thing only
worked because internally QQuickItem::isAncestorOf does not use any of
the properties of this
object, and only does checked parent() calls
on its argument and compares results as raw pointers. Neither did it
reset back to default (attachee) object if/when buddy is dynamically
destroyed, so now there are reconnects in setter, and corresponding
tests with a signal spy, Repeater and Component::createObject().
Test plan: $2625