Handle missing Benchmarks by passing 0.0 to the database
Handle missing Benchmarks by passing 0.0 to the database

- if a field in self._float_fields is missing, it now gets set to None,
  which is interpreted by the database as NULL. This works for most fields
  but not for Benchmark as the column is NOT NULL in the
  CloudRecord table.
- We cannot simply remove the NOT NULL as they are GROUPED BY as part of the
  summariser process (and should be part of the primary key for summaries)
  as dont we dont want to GROUP BY possibly NULL fields as that behaviour is
  undefined.
- Adding this check seems the best as it is now explictly doing what currently
  happens with the implicit type casting when the Benchmark field is not present
  i.e. we recieve a version 0.2 message.

stfc/apel,tofu-rocketry/apel,apel/apel,tofu-rocketry/apel,apel/apel,stfc/apel