[dv, csr_utils_pkg] Add user frontdoor mechanism on all CSR methods
[dv, csr_utils_pkg] Add user frontdoor mechanism on all CSR methods

This commit adds a user-defined frontdoor accessor method
as an argument to all CSR and mem accesses tasks. This enables
CSRs to be temporarily accessed via a differnt method, say
for example via JTAG DMI (at LC CTRL level) or via JTAG SBA
at the full chip level. The user frontdoor is set for the CSR
during the access and unset after the access is complete (the
unset does not properly work yet due to UVM reg codebase not
virtualizing all methods. But it is definitely a start. This
will be fixed in a future commit.

Signed-off-by: Srikrishna Iyer <2803d640feace36379942447842f26c7747b4dc3@google.com>

lowRISC/opentitan,lowRISC/opentitan,lowRISC/opentitan,lowRISC/opentitan,lowRISC/opentitan,lowRISC/opentitan