Tweaked behavior of herk, her2k for BLAS compat.

Details:
- Updated herk_front() and her2k_front() to explicitly set the imaginary
  components of the diagonal entries of C to zero after the computation
  is complete. This is needed in case downstream applications read the
  full diagonal entries (i.e., including imaginary part), which could, in
  the absence of this modification, accumulate numerical error from
  subsequent rank-k/rank-2k updates.
- Updated BLAS compatibility wrappers for herk and her2k to return early
  if:
    n == 0 || ( ( alpha == 0 || k == 0 ) && beta == 1 )
  This also results in the imaginary components of diagonal entries NOT
  being set to zero (see above), which is consistent with BLAS.
- Updated mkherm to use setid instead of an inlined loop over the
  diagonal.