Implement initial undo/redo redux

SaveState not fully implement but functions are.  Simple slight bugs
exist will be fixed in future.