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