https://github.com/MystenLabs/sui/issues/7585
https://github.com/MystenLabs/sui/issues/7933
Also added more description to all keytool commands.
Test:
No passed intent uses default:
```
target/debug/sui keytool sign --address 0x183ee5473ffecfc959d0c547a6198b94e3c2c971 --data AAUBJGVmt0B7OkTdye3kkgee3MiGJucAAAAAAAAAACCKlXcHDNqFIL1TuGQiJV7+CaO7V4A85cMKz9ILXOz7PAEykfPeOqVvjFzPykn9reCYsWIDgQEQJwAAAAAAACG2Cqmoyxicy+IEYdv60iAv3vVbJGVmt0B7OkTdye3kkgee3MiGJucAAAAAAAAAACCKlXcHDNqFIL1TuGQiJV7+CaO7V4A85cMKz9ILXOz7PAEAAAAAAAAA6AMAAAAAAAA=
Signer address: 0x183ee5473ffecfc959d0c547a6198b94e3c2c971
Raw tx_bytes to execute: AAUBJGVmt0B7OkTdye3kkgee3MiGJucAAAAAAAAAACCKlXcHDNqFIL1TuGQiJV7+CaO7V4A85cMKz9ILXOz7PAEykfPeOqVvjFzPykn9reCYsWIDgQEQJwAAAAAAACG2Cqmoyxicy+IEYdv60iAv3vVbJGVmt0B7OkTdye3kkgee3MiGJucAAAAAAAAAACCKlXcHDNqFIL1TuGQiJV7+CaO7V4A85cMKz9ILXOz7PAEAAAAAAAAA6AMAAAAAAAA=
Intent: Intent { scope: TransactionData, version: V0, app_id: Sui }
Intent message to sign: "AAAAAAUBJGVmt0B7OkTdye3kkgee3MiGJucAAAAAAAAAACCKlXcHDNqFIL1TuGQiJV7+CaO7V4A85cMKz9ILXOz7PAEykfPeOqVvjFzPykn9reCYsWIDgQEQJwAAAAAAACG2Cqmoyxicy+IEYdv60iAv3vVbJGVmt0B7OkTdye3kkgee3MiGJucAAAAAAAAAACCKlXcHDNqFIL1TuGQiJV7+CaO7V4A85cMKz9ILXOz7PAEAAAAAAAAA6AMAAAAAAAA="
Serialized signature (`flag || sig || pk` in Base64): "ACmYa480pal2uM89WbuwXBZSdp039JdRrWQlLnqJiM1mcHPHFgowmc8TvwygUFjIQRx0Z7Jhf60hr73Vs5paKgCoeXc+5rQMhfoio/a8o4a+JNvOiAf0zfFkx2u0qtuVnA=="
```
Pass in intent as hex works:
```
target/debug/sui keytool sign --address 0x183ee5473ffecfc959d0c547a6198b94e3c2c971 --data AAUBJGVmt0B7OkTdye3kkgee3MiGJucAAAAAAAAAACCKlXcHDNqFIL1TuGQiJV7+CaO7V4A85cMKz9ILXOz7PAEykfPeOqVvjFzPykn9reCYsWIDgQEQJwAAAAAAACG2Cqmoyxicy+IEYdv60iAv3vVbJGVmt0B7OkTdye3kkgee3MiGJucAAAAAAAAAACCKlXcHDNqFIL1TuGQiJV7+CaO7V4A85cMKz9ILXOz7PAEAAAAAAAAA6AMAAAAAAAA= --intent 010000
Signer address: 0x183ee5473ffecfc959d0c547a6198b94e3c2c971
Raw tx_bytes to execute: AAUBJGVmt0B7OkTdye3kkgee3MiGJucAAAAAAAAAACCKlXcHDNqFIL1TuGQiJV7+CaO7V4A85cMKz9ILXOz7PAEykfPeOqVvjFzPykn9reCYsWIDgQEQJwAAAAAAACG2Cqmoyxicy+IEYdv60iAv3vVbJGVmt0B7OkTdye3kkgee3MiGJucAAAAAAAAAACCKlXcHDNqFIL1TuGQiJV7+CaO7V4A85cMKz9ILXOz7PAEAAAAAAAAA6AMAAAAAAAA=
Intent: Intent { scope: TransactionEffects, version: V0, app_id: Sui }
Intent message to sign: "AQAAAAUBJGVmt0B7OkTdye3kkgee3MiGJucAAAAAAAAAACCKlXcHDNqFIL1TuGQiJV7+CaO7V4A85cMKz9ILXOz7PAEykfPeOqVvjFzPykn9reCYsWIDgQEQJwAAAAAAACG2Cqmoyxicy+IEYdv60iAv3vVbJGVmt0B7OkTdye3kkgee3MiGJucAAAAAAAAAACCKlXcHDNqFIL1TuGQiJV7+CaO7V4A85cMKz9ILXOz7PAEAAAAAAAAA6AMAAAAAAAA="
Serialized signature (`flag || sig || pk` in Base64): "AOhgzSIDTjVYzSM2bLSB1eRoJ5FS3NGxP4VnqzjndexsV1ntrgfpbwwCG3MV4YaftW3oZN5DzgNYMkaNqvTeaweoeXc+5rQMhfoio/a8o4a+JNvOiAf0zfFkx2u0qtuVnA=="
```
Invalid data shows better error:
```
target/debug/sui keytool sign --address 0x183ee5473ffecfc959d0c547a6198b94e3c2c971 --data AAUBJGVmt0B7OkTdye3kkgee3MiGJucAAAAAAAAAACCKlXcHDNqFIL1TuGQiJV7+CaO7V4A85cMKz9ILXOz7PAEykfPeOqVvjFzPykn9reCYsWIDgQEQJwAAAAAAACG2Cqmoyxicy+IEYdv60iAv3vVbJGVmt0B7OkTdye3kkgee3MiGJucAAAAAAAAAACCKlXcHDNqFIL1TuGQiJV7+CaO7V4A85cMKz9ILXOz7PAEAAAAAAAAA6AMAAAAAAAA
Signer address: 0x183ee5473ffecfc959d0c547a6198b94e3c2c971
Raw tx_bytes to execute: AAUBJGVmt0B7OkTdye3kkgee3MiGJucAAAAAAAAAACCKlXcHDNqFIL1TuGQiJV7+CaO7V4A85cMKz9ILXOz7PAEykfPeOqVvjFzPykn9reCYsWIDgQEQJwAAAAAAACG2Cqmoyxicy+IEYdv60iAv3vVbJGVmt0B7OkTdye3kkgee3MiGJucAAAAAAAAAACCKlXcHDNqFIL1TuGQiJV7+CaO7V4A85cMKz9ILXOz7PAEAAAAAAAAA6AMAAAAAAAA
Intent: Intent { scope: TransactionData, version: V0, app_id: Sui }
Cannot deserialize data as TransactionData invalid Base64 encoding
Location:
/Users/joy/.cargo/git/checkouts/fastcrypto-52df1bab54ce57e6/235211d/fastcrypto/src/encoding.rs:104:53
```