spf: added results. refactored to remove duplication
spf: added 15 tests
Merge pull request #521 from msimerson/spf

Looks great.  Merged.