Enhancement #423

Introduced File Provider API and initial FileSystem based implementation.
Fixes #527 which was checking retail price instead of sale price.