## Description
For graphql we would like to combine dry run and dev inspect
functionality, and any behavior difference between the two should be
made toggleable via user provided options, which will look a lot like
the newly added struct `DevInspectArgs` in this PR. This PR modifies the
dev inspect code to make implementing new dev inspect easier. It also
adds optional additional args to dev inspect APIs.
## Test Plan
existing tests
---
If your changes are not user-facing and do not break anything, you can
skip the following section. Otherwise, please briefly describe what has
changed under the Release Notes section.
### Type of Change (Check all that apply)
- [ ] protocol change
- [x] user-visible impact
- [ ] breaking change for a client SDKs
- [ ] breaking change for FNs (FN binary must upgrade)
- [ ] breaking change for validators or node operators (must upgrade
binaries)
- [ ] breaking change for on-chain data layout
- [ ] necessitate either a data wipe or data migration
### Release notes
Add optional additional parameters to `dev_inspect_transaction_block`
including gas_budget, gas_objects, gas_sponsor and skip_checks.