Enable the user to choose any parenthood limit

Instead of restricting the weight computation to the parent and children,
the user can now choose the parenthood limit. This will help in the case
where the weight should propagate in close parents but not in a far
parent.

An example can be if the arm is touching the thigh, the weight for the
thigh should still propagate in the hips and ribs which can possibly not
be the first parent, but should not propagate in the hand.

The parenhood distance is retrieved using Djikstra on the parenthood array
of the input armature. If the armature as no parenthood array, then any
bone is related. Otherwise, a bone has a distance of 1 with its parent
and immediate children.

See Issue #14025