Refactor fee calculation to classes

Refactor every fee calculation to its own calculator class
Fix bug on precision for type B fee calculation