Explain the use of Go's defer statement for stacking function calls in LIFO order?