[mle] save child info in settings on mode or timeout change (#3129)
[mle] save child info in settings on mode or timeout change (#3129)

This commit changes `MleRouter::HandleChildUpdateRequest()`:

- If the child entry is modified (i.e., timeout value or
  device mode changes) on an already attached child, the child
  info is updated and saved in the non-volatile settings.
  This ensures that after a parent reset the child can be
  recovered correctly.

- If the "Child Update Request" causes a mode change from rx-on
  to sleepy on a child in `kStateValid` (already attached), the
  source match controller is set to perform source address
  matching on the short address.

- This commit also adds a log to indicate mode change of a
  child.

lanyuwen/openthread,jwhui/openthread,lanyuwen/openthread,librasungirl/openthread,erja-gp/openthread,abtink/openthread,chshu/openthread,lanyuwen/openthread,srickardti/openthread,LeZhang2016/openthread,gandreello/openthread,LeZhang2016/openthread,bukepo/openthread,librasungirl/openthread,erja-gp/openthread,chshu/openthread,erja-gp/openthread,erja-gp/openthread,erja-gp/openthread,turon/openthread,srickardti/openthread,lanyuwen/openthread,jwhui/openthread,librasungirl/openthread,LeZhang2016/openthread,openthread/openthread,srickardti/openthread,chshu/openthread,openthread/openthread,openthread/openthread,gandreello/openthread,abtink/openthread,LeZhang2016/openthread,abtink/openthread,bukepo/openthread,lanyuwen/openthread,LeZhang2016/openthread,gandreello/openthread,gandreello/openthread,lanyuwen/openthread,chshu/openthread,srickardti/openthread,chshu/openthread,LeZhang2016/openthread,turon/openthread,gandreello/openthread,openthread/openthread,gandreello/openthread,erja-gp/openthread,bukepo/openthread,librasungirl/openthread,bukepo/openthread,abtink/openthread,jwhui/openthread,chshu/openthread,jwhui/openthread,turon/openthread,turon/openthread