Improve error handling when lowering nodes. (#9708)
This PR adds the necessary infrastructure for `XlaNode` and derived
classes to start propagating error by returning `Status` constructs.
**Key Changes:**
- Create `XlaNode::SafeLower` function for lowering nodes, propagating
errors using `Status`
- Deprecate `XlaNode::Lower` function in favor of `XlaNode::SafeLower`
- Create `XlaNode::CheckedLower` function:
- Checks both the lowering status, as well as the `XlaBuilder` status
- Wraps the error message with more context