Separated out storage into higher level chatbot storage and low-level backend interface. Added ability to save & load chat transcript. Currently broken, this is just a snapshot of current state