Same as silc_buffer_srealloc but moves moves the tail area
automatically so that the buffer is ready to use without calling the
silc_buffer_pull_tail.
This routine use SilcStack are memory source. If `stack' is NULL
reverts back to normal allocating routine.