Check for artifacts inside of worn / wielded items.

I forgot to handle this in #9721, so here it is:

The check for artifact effects is now in the item class, it also checks for contents when checking for effects when carried. Because wielded / worn artifacts provide additional effects and items can be in containers, I implemented this logic:

- Items that are wielded directly (the item == `player::weapon`) check the effect in `it_artifact_tool::effects_wielded`.
- Items that are directly worn (the item is part of the `player::worn` vector) check the effect in `it_artifact_armor::effects_worn`.
- All items (worn, wielded, in main inventory, inside another item as `item::contents`) check `it_artifact_tool::effects_carried`.

Items inside a worn or inside a wielded item do *not* check the worn / wielded effects, only the `effects_carried`. In other words `effects_wielded` is ignored for the contents of the wielded item.