Fixes #604 Crash on crafting

The AE2 has in the contract that the item field in an IAEItemDefinition can be null due to the fact, if a special item is deactivated. This needs to be checked.

The base code was enhanced through Javadoc and split in responsibilities. The fix is contained in the AchievementCraftHandler in the null check in achievement.stack