Fix incorrect calculation of large file surcharge
Refactor large file surcharge for testability
Add tests for calculating large file surcharge
Discovered bugs while writing tests and fixed
Make calculateFileSizeSurcharge package-level access
Refactor shopping cart total calculation

Separates calculation logic from configuration and model to improve
testability
Tests for calculating shopping cart totals
Merge pull request #606 from datadryad/fix-largefile-surcharge

Fix incorrect calculation of large file surcharge