Allow for a different default for optional i/o fields
At the moment all the particle fields are zeroed on startup. We then read the ICs and fill the fields. If a quantity is labelled as optional, we skip it when absent from the ICs. This means the field remains zero-ed.
It could be useful for some of the models to allow for a non-zero default.
An example is the birth times of stars. If absent from the ICs, we may want them to default to -1 (indicating that the star will always remain inactive) rather than 0 (i.e. the star is born at the exact start of the simulation).