* DRY: Remove duplicate structs
* Move encode/decode/convert-request-to-instruction related files to CoreRelayerMessages
* remove rolloverchain; now it is just the chain of the first request
* forge test fix to accomdoate for removing two getters
* DRY: Remove repeated error messages
* Remove miscellaneous comments
* DRY send and forward
* replace relayprovider interface with address to match the IWormholeRelayer interface
* forge fmt
* Remove byteslib from CoreRelayer
* Remove the encoding and decoding of the delivery request -> just store the struct itself!
* forge fmt
* Rewriting of checks in send/resend/forward
* test passes
* DRY - Emit only one event
* DRY
* forge fmt
* Fix typescript error
* using IWormholeRelayer
* Consistent naming
* call wormhole.messageFee() once
* Remove unnecessary line
* Compute the length once, not every iteration
* forge tests pass