[Stats][Items][Enchantments] Add/Remove Range=>Add/Remove + Tests

- I've been enjoying leveraging interfaces that simply add/remove on an enumerable set and then have extension methods that operating on single items for convenience.
-- It's forced me to create implementations that handle working with multiple items (i.e. event triggers AFTER the entire action)
-- I can roll with one common method name Add/Remove to do a range OR a single item without needing multiple method names.
- I added tests to enchant blocks and inventories to prove that the events trigger as I expect.