This should probably be on it's own branch, but too many of the changes I made
were already committed.
- Logic for a Plot, basically a data class
- Logic for Spade, the main functionality of the class
- Logic to load and parse the tree
- Functionality for loading the first branch with debugging mode
TO-DO
- Abstract branch display properly into Dialogue
- Abstract tree loading and parsing probably back into Gardner
- Change Gardner to a different name. Like... Druid or something...
- Actually build the editor
- Add logic for Planter, the editor module
- Add logic for catching a bad switch, and reporting accordingly
- Add logic for when no tree is included when required, and reporting
accordingly
- Move YAML file loading from Dialogue/Gardner to here
- Show viable options in prompt.
- If a user does not select a viable option, inform them, and prompt again.
- Allow for terimnal branches. A terminal branch has no options. More details in
the Configuration File documentation.