text: Title: [BUG] Error is just ignored in `Actor.__pre_destroy__`
  Body: <!--
  Thank you for your contribution!
  
  Please review https://github.com/mars-project/mars/blob/master/CONTRIBUTING.rst before opening an issue.
  -->
  
  **Describe the bug**
  
  For now, error is just ignored in `Actor.__pre_destroy__`, if error occurs, it's just ignored.
  
  **To Reproduce**
  To help us reproducing this bug, please provide information below:
  1. Your Python version
  2. The version of Mars you use
  3. Versions of crucial packages, such as numpy, scipy and pandas
  4. Full stack of the error.
  5. Minimized code to reproduce the error.
  
  ```python
  class ActorCannotDestroy(mo.Actor):
      async def __pre_destroy__(self):
          raise ValueError('Cannot destroy')
  
  
  @pytest.mark.asyncio
  async def test_error_in_pre_destroy(actor_pool_context):
      pool = actor_pool_context
  
      a = await mo.create_actor(ActorCannotDestroy, address=pool.external_address)
      with pytest.raises(ValueError, match='Cannot destroy'):  # no error raised
          await mo.destroy_actor(a)
  
  ```
  
  **Expected behavior**
  
  Error can be raised in `Actor.__pre_destroy__`.
  