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.