Deniz development - Merge Mike's first

Added disk writing/reading functions for fingerprints, and a limit to how many we keep in memory (~180MB worth). Mike's PR should be merged first.
I don't think we want a constant for the number of samples in a segment. The size of a segment should be dependent on time (in seconds), which is calculated from fields in the format of the WAVE