`bmm`: improve error handling and error messages. (#9643)
This PR refactors the `bmm` operation implementation by improving its
error message, and returning a status type value.
**Key Changes:**
- Make `tensor_methods::bmm` return `StatusOr<XLATensorPtr>`
- Improve error messages and error handling
- Remove `CheckBmmDimension`, `CheckDimensionSize`, and `CheckRank`
- Create new `CheckBmmInputsAreValid`, and `CheckInputIs3DTensor`
functions