make IPAC table fill_values right on output

In the last implementation, IPAC tables simply reported the fill_value as the
null value in the header, but did not use the same value to fill the masked values
in the table data - `ascii.write(... fill_values=(...))` was used for that.
Thus, on writing the null value reported in the header looks good, but is
useless.

High-level discussion of this issue is in #2657 

closes #2657
This description leaves me a little confused.  What about the following (and is it accurate of the change?):
```
  - The IPAC table writer now consistently uses the ``fill_values`` keyword to specify
    the output null values.  Previously the behavior was inconsistent or incorrect. [#3259]
```
BTW I think in CHANGES.rst just reference the code PR, which of course starts with a ref to the original issue.