added a positionable interface. moved the goal achievement predicates back into the goal module
broke the directives module from the goals module
created a super-struct for goals
pulled directive handling logic into directive module. too drunk too test. I'll do it tomorrow