Fix flaw in sa_build_layouts() calculation

Commit c475167 removed rounding of attribute length values when
calculating space needed for SA_BONUS buffers in sa_find_sizes().
However, sa_build_layouts() still rounds the attribute lengths up when
calculating how much space remains in its buffer.  Consequently, if
the sum of all the attribute sizes is close to but less than the bonus
buffer size, sa_find_sizes() may report that spill-over is not needed
while sa_build_layouts() comes to the opposite conclusion.  This leads
to a NULL pointer deference accessing the uninitialized hdl->sa_spill
pointer.  To avoid this, remove the rounding of attribute lengths in
sa_build_layouts() to be consistent with sa_find_sizes().

Issue #1240