Full planning integration into master

Knowledgebase phase of project is complete!
It might be cleaner to just have a list of subgoals that you have not yet completed and assign them back to subgoals. I.e. iterate through all subgoals, check through them to see if they can be completed and add the ones that haven't to a new list of subgoals and reassign that back to subgoals.