Fully implement Shopkeeper trait

This can now be added with /trait, or used with /shopkeeper.

This does add a new method to Shopkeeper and ShopObject,
attach(LivingEntity). I'm hoping this isn't an issue.