This commit enables users to specify which signer they want to use while creating their transactOpts.
Previously all contract interactions used the homestead signer. Now a user can specify whether they
want to sign with homestead or EIP155 and specify the chainID which adds another layer of security.
Closes#16484
# Conflicts:
# accounts/abi/bind/auth.go
# accounts/abi/bind/backends/simulated.go
# accounts/abi/bind/bind_test.go
# les/sync_test.go
# les/test_helper.go
# mobile/bind.go