Fix boring tap of non-passive source from parent. (backport #4083) (#4096)

* Fix boring tap of non-passive source from parent. (#4083)

Expected result is fully aligned, which is what happens
when reading from a probe.

When the source is already at the LCA (from parent)
there's no probe and the secret connections only support
a few commands.

For lack of a way to do, e.g., `:#=` here,
use `read(probe(x))` to get the fully aligned result
that's expected and bored down to the child.

This isn't ideal but fixes this using only the sorts of expressions
and commands that we've already committed to supporting.

Fixes #3557.

(cherry picked from commit 0dbedc31)

# Conflicts:
#	core/src/main/scala/chisel3/RawModule.scala

* Resolve backport conflicts

---------

Co-authored-by: Will Dietz <will.dietz@sifive.com>
Co-authored-by: Jack Koenig <koenig@sifive.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
9 jobs for 6.x
in 0 seconds and was queued for 105 minutes and 47 seconds