Added functions to save and load wallets

In this branch wallet is an id and a string (the wallet's "type").
The frist function takes an id and type and saves it to a file. The second takes a file name and returns the wallet.
same with all these, no need to panic just return the error