beadm will recursively promote deep BE datasets. In order to match the bedam
behavior, we need to recursively iterate over child filesystems and promote them
along the way.
This patch further refines the work at https://reviews.freebsd.org/D40903
Sponsored by: Rubicon Communications, LLC ("Netgate")