Fix to be able to read FCS data files that are produced by FlowJo but are slightly wrong.

Added another change, both are to be able to read crappy files from different versions of FlowJo.

Change 2:
Some FCS files version >= 3 exported from FlowJo are missing the $BEGINDATA and $ENDDATA keywords. This is bad, but we still need to be able to read those files, so let's make flowCore less strict and read those with just a warning as long as we can get those offsets from the FCS header.

Change 1:
The FCS3.0 and FCS3.1 data file format specifies the offset to the end of the data segment in two places: 
a) In the header of the FCS file.
b) In the text segment ($ENDDATA keyword) of the FCS file. 
There are only 8 characters reserved for any offset information in the FCS header and therefore, the maximum specifiable offset is 99999999 (~100 MB). This is because the original specification was developed back in 1984 when 100 MB seemed like more than what will ever be needed. 
Based on the FCS3.0 and FCS3.1 specifications, if the actual offset is more than 99999999, then the FCS header shall specify an offset of 0, and the actual value is than in the FCS text segment only. Certain versions of FlowJo break the FCS specification by specifying 99999999 rather than 0 in the FCS header in those cases. This fix allows flowCore to read those files. The code has been tested with files from NIH (Mario's group).