A value object can have "hidden" children, which are children which can
be access by an index that is past the number of children reported by
the value object. This is used for example with `$$dereference$$`
children. It's also useful for designing a value object which shows only
a subset of its children.
This change updates the `SBValue.child` accessor to allow indexes that
are past the reported number children, to match the behavior or
`GetChildAtIndex`.