text: Title: Add callbacks to queries
  Body: It would be nice if there was a new clause which can be added to queries called `callback`.
  
  For example:
  
  ```python
  def callback_handler(success, value):
      if success:
          print(f'The query was successful and returned {value}')
      else:
          print("The query failed")
  
  Band.select().callback(callback_handler).run_sync()
  ```
  
  The callback could be a function or coroutine, which will be passed two values - a boolean for whether the query was successful, and the result of the query.
  
  The reason this is useful is because it's quite common for a function to return a query, and not actually run it. But it would like to run something once the query is complete.
  
  An example within Piccolo itself is the save method:
  
  https://github.com/piccolo-orm/piccolo/blob/bffd3df448afd4bca123cab340f830984b42f0fb/piccolo/table.py#L316-L323
  
  