Creates an object interface around a group of files.

This allows for encapsulating all the functions that iterate over
a set of files / rates, instead of having triple FOR loops in many
places.
Refactored a bit based on review comments
Merge pull request #44 from alvestrand/file-group-interface

Creates an object interface around a group of files.