Spike check implementation

Technically this test is a Secondary Flag (based on the IOOS QARTOD Meeting two weeks ago)

- Primary Flags are the aggregate status for an observation and represent the final QC evaluation. 
- Secondary Flags are the result of a specific algorithm or QC test.

So, primary flags are something we set once all the other tests are done, and the flag for the primary is _some_ function of the secondary flags. That function is not formally defined yet.