Improve scratch list

* scratch buffer is completely removed from buffer list after use
* keeping the alternative buffer after scratch buf use
* preserving the jump list after scratch buf use