Add unwrap_use_ops_friendly infrastructure
Add unwrap_use_ops_friendly infrastructure

Summary:
Adds infrastructure for unwrapping `use_op`s to create a friendly error. Similar to `unwrap_use_ops` except this function's goal is to produce a single, legible, sentence for error messaging.

This diff also sets up the use of `unwrap_use_ops_friendly` in incompatibility errors.

Returning `None` by default allows us to incrementally upgrade error messages with a `use_op`.

Reviewed By: gabelevi

Differential Revision: D6516201

fbshipit-source-id: f6ef9a43545140fffbabad3fb5968cdbecfac1bc

mroch/flow,jamesgpearce/flow,jamesgpearce/flow,jamesgpearce/flow,mroch/flow,AgentME/flow,facebook/flow,popham/flow,claudiopro/flow,nmote/flow,jamesgpearce/flow,jamesgpearce/flow,gabelevi/flow,AgentME/flow,mroch/flow,JonathanUsername/flow,jamesgpearce/flow,claudiopro/flow,samwgoldman/flow,AgentME/flow,popham/flow,nmote/flow,mroch/flow,facebook/flow,samwgoldman/flow,facebook/flow,popham/flow,facebook/flow,AgentME/flow,nmote/flow,JonathanUsername/flow,facebook/flow,gabelevi/flow,samwgoldman/flow,gabelevi/flow,jamesgpearce/flow,facebook/flow,mroch/flow,claudiopro/flow,popham/flow,nmote/flow,nmote/flow,mroch/flow,JonathanUsername/flow,gabelevi/flow,gabelevi/flow,JonathanUsername/flow,samwgoldman/flow,samwgoldman/flow,JonathanUsername/flow,samwgoldman/flow,AgentME/flow,mroch/flow,gabelevi/flow,nmote/flow,popham/flow,popham/flow,claudiopro/flow,popham/flow,claudiopro/flow,JonathanUsername/flow,facebook/flow,gabelevi/flow,samwgoldman/flow,JonathanUsername/flow,nmote/flow