add Addon.prototype.isEnabled for an addon to exclude itself from the project

closes #2269 

addons can exclude themselves by implementing an isEnabled hook where they can access `this.app` to do whatever checks they want to.

I've also removed the requirement for settings this.app in the included hook. It always does it now.