Begin rewrite of goals

Goals are now created by fully specialized template initializations.
This allows compile time checking for the number and type of arguments
passed to the goalCreator. User can no longer call createGoal(GET_FOOD
...) with erroneous arguments. Instead createGoal<GET_FOOD>().
New goal format now builds and passes tests
Remove Interrupt events

Goals are now directly added to an individual. The priority for the new
goal is assigned based on the relationships one individual has with
another. This removes the ability for one individual to refuse an
interrupt, however.