Explain the use of Go's benchmarking and profiling tools for measuring and optimizing the performance and efficiency of Go programs?