feat: implement message v0 decompilation
* feat: add PublicKey.unique method for tests * feat: add MessageAccountKeys class * feat: add CompiledKeys class for message compilation * feat: implement message compilation using CompiledKeys
* feat: add support for version 0 transactions * chore: feedback * chore: update VersionedMessage type * chore: use literals for version getter * chore: fix lint error * chore: switch to VersionedMessage.deserialize