* Refactor Storage Program
* Replace KeyedAccount trait with StorageAccount struct
* Implement State for Account, not StorageAccount
* Make State trait more generic
* Move validation check into function
Prefer the term "instruction processor" over "program". Reserve
the term "native" for the loader and shared object it loads.
Compiling an instruction processor to BPF shouldn't imply changing
to a non-native entrypoint.