text: Title: Pipeline Level success/failure callbacks
  Body: **Is your feature request related to a problem? Please describe.**
  There are times where I want to call a function when a pipeline fails, but having it be block level and applied to every block can lead to multiple calls when concurrent blocks fail at the same time.  Having a pipeline-level callback feature would prevent this issue
  
  **Describe the solution you'd like**
  Similar to the block-level callbacks, there would be a pipeline-level callback where a failure/success function would be called depending on the status of the pipeline as a whole, as opposed to an individual block.
  
  **Describe alternatives you've considered**
  Having a sensor pipeline running adjacently to the main pipeline that detects for success/failure has been a decent solution, but the check_status function doesn't have great handling of failure, it simply throws an error on failure as opposed to an output like True or False.
  