Fix parsing options templates.

- Additionally, it seems the flow_records header field refers to the number
  of flow records across all flowsets, _not_ the number of flowsets so change
  the records array to read until EOF.
Explicitly handle field length defaults.

So it appears some devices just send a length of 0 for variable size fields
where the default is to be assumed, requiring the collector to hopefully
use the right value.
Fix options template parsing bug.

- Move the field building to a separate function so we can call it for
  option templates too.

- Implement v9 fields 46-55.