Removing the T transport generic

Since alloy#1859 the Provider is independent of the Transport, making it easier to roll types that wrap the Provider. This improvement was reflected in the CallBuilder type but not carried to the sol! macro bindings.

core#865 removes the T transport generic from the sol! macro bindings, making the contract and RPC codegen cleaner.

This can be demonstrated using a simple example that wraps an ERC20Instance type.

Before

struct Erc20<P: Provider> {
    instance: ERC20Instance<(), P>,
}

After

struct Erc20<P: Provider> {
    instance: ERC20Instance<P>,
}