Add async worker timeout support and add timeout tests