compiler: avoid GCC middle-end control warnings

GCC has started emitting "control reaches end of non-void function"
warnings. Avoid them for Go by 1) marking the builtin function panic
and the compiler-generated function __go_runtime_error as not
returning and 2) adding a default case to the switch used for select
statements that simply calls __builtin_unreachable.

Fixes golang/go#22767

Change-Id: Ic278dd841369ab922e3d791e340a3831227c2f9d
Reviewed-on: https://go-review.googlesource.com/80416
Reviewed-by: Than McIntosh <thanm@google.com>
4 files changed