(Issue #10) If a building generates a harvest task, cancel it if its item is taken pre-maturely.

Harvest tasks now properly obsolete when the item they want to harvest
is removed from the building (except when the item is removed by the
golem doing the behavior).  The check is done whenever a building calls
any form of the consume method from AbstractEntity.