How does Go support error handling in concurrent programs, and what are the various techniques and strategies for handling errors in concurrent programs?