Undo PorotocolLib requirement for Cauldron. Support both 1.6 and 1.7
Plus a bit of refactoring