Fail result for `Flags and flag attributes` check with no reasoning
Running the CF checker on [this file](http://thredds.aodn.org.au/thredds/fileServer/IMOS/SRS/SST/ghrsst/L3S-1d/dn/2016/20160919092000-ABOM-L3S_GHRSST-SSTfnd-AVHRR_D-1d_dn.nc) results in 

```
Name                             Priority:     Score:Reasoning
--------------------------------------------------------------------------------
§3.5 Flags and flag attributes         :3:    31/32 :  
```

An apparently failed result, with no reasoning message.

diff --git a/compliance_checker/cf/cf.py b/compliance_checker/cf/cf.py
index cbc4b19..9bfffda 100644
--- a/compliance_checker/cf/cf.py
+++ b/compliance_checker/cf/cf.py
@@ -926,12 +926,15 @@ class CFBaseCheck(BaseCheck):
                 ret_val.append(Result(BaseCheck.HIGH, (ok_count, 2), '§3.5 Flags and flag attributes', msgs=msgs))
 
                 # 7) the flag_masks attribute values must be non-zero
-                zeros = [x for x in flag_masks if x == 0]
+                zeros_absent = 0 not in flag_masks
+
                 msgs = []
-                if len(zeros):
+                if not zeros_absent:
                     msgs = ['flag_masks attribute values contains a zero']
 
-                ret_val.append(Result(BaseCheck.HIGH, len(zeros) != 0, '§3.5 Flags and flag attributes', msgs=msgs))
+                ret_val.append(Result(BaseCheck.HIGH, zeros_absent,
+                                      '§3.5 Flags and flag attributes',
+                                      msgs=msgs))
 
             # 9) when both defined, boolean AND of each entry in flag_values with corresponding entry in flag_masks
             #    should equal the flags_value entry
['compliance_checker/cf/cf.py']