[ROCM] activated bfloat16 tests for rocm platform
Requested changes are implemented, I wonder if there are any futher issues with this PR ? Thanks! I have also fixed a regression bug in tensorflow/core/kernels/matmul_util.cc after XLA changes by one of our collegues here: https://github.com/openxla/xla/pull/4768 
In this PR, we added a one central function **IsBF16NotSupportedInOps** in tensorflow/core/kernels/gpu_utils.cc to decide whether bfloat16 datatypes are directly supported on the target acrhitecture or not. 
Previously, the similar checks were spread around several files. 
It will facilitate the integration of bfloat16 support to ROCM: currently bfloat16-to-float conversion is always enabled on ROCM.

Besides, we also enabled bfloat16 support in a number of subtests.
Finally, rewrote tensorflow/core/kernels/batch_norm_op_test.cc in a generic form to be able to test it for different number types.


