A Commonsense Reasoning Framework for Explanatory Emotion Attribution, Generation and Re-classification