Add save/load keys, add secret key hash, fix secret key encode

I added save and load functions and gave the user the ability to generate and immediately save a key in the cli. 
Although load isn't used anywhere yet, it is ready to go.
Secret Keys were encoded such that they encoded/decoded the public key stored inside of them. This fixes that.
I also added secret key's Hash funciton by copypasting PublicKey's hash.
this means your files will be a lot simpler, and save and load should take much less code