docs: def delete_table(self, table_name, fail_not_exist=False, timeout=None):
          '''
          Deletes the specified table and any data it contains.
  
          When a table is successfully deleted, it is immediately marked for deletion 
          and is no longer accessible to clients. The table is later removed from 
          the Table service during garbage collection.
  
          Note that deleting a table is likely to take at least 40 seconds to complete. 
          If an operation is attempted against the table while it was being deleted, 
          an :class:`AzureConflictHttpError` will be thrown.
  
          :param str table_name:
              The name of the table to delete.
          :param bool fail_not_exist:
              Specifies whether to throw an exception if the table doesn't exist.
          :param int timeout:
              The server timeout, expressed in seconds.
          :return:
              A boolean indicating whether the table was deleted. If fail_not_exist 
              was set to True, this will throw instead of returning false.
          :rtype: bool
          '''
          _validate_not_none('table_name', table_name)
          request = HTTPRequest()
          request.method = 'DELETE'
          request.host_locations = self._get_host_locations()
          request.path = '/Tables(\'' + _to_str(table_name) + '\')'
          request.query = {'timeout': _int_to_str(timeout)}
          request.headers = {_DEFAULT_ACCEPT_HEADER[0]: _DEFAULT_ACCEPT_HEADER[1]}
  
          if not fail_not_exist:
              try:
                  self._perform_request(request)
                  return True
              except AzureHttpError as ex:
                  _dont_fail_not_exist(ex)
                  return False
          else:
              self._perform_request(request)
              return True