BDI: Plan Consistency!

Added a goal completed check to the Agents.
Added some functionality to enforce plan consistency:
- Plan Types
- abstract Contribution Heuristic function: fill this function with a
heuristic. This function is used to compare different plans.
- BDI_Agent class checks plan types. If they overlap, it picks the best
according to their contribution heuristic function.

Current heuristic: how many units will survive?
Todo: think of a different heuristic to make units realize the
importance of the shield unit. Maybe estimate how much damage the
unit(s) will take when they execute a plan, instead of how many will
survive?
Some files lagging behind in the commit..

Added some functionality to enforce plan consistency:
- Plan Types
- abstract Contribution Heuristic function: fill this function with a
heuristic. This function is used to compare different plans.
- BDI_Agent class checks plan types. If they overlap, it picks the best
according to their contribution heuristic function.

Current heuristic: how many units will survive?
Todo: think of a different heuristic to make units realize the
importance of the shield unit. Maybe estimate how much damage the
unit(s) will take when they execute a plan, instead of how many will
survive?