ENH: Add hmfc calculation

Ready for review/merge. Hopefully the tests make it clear how the function works. @rkmaddox let me know if there are other corner cases you think we need to check, it's important to get this one right.
Is it well defined whether the boundary case should count as a hit/FA or not? Seems dangerous to have a test depend on float precision, unless I am missing something.