Using wait=True in webhook.execute raises AttributeError
Title.

Here's the code (using eval command) and traceback in case.
```py
webhook = (await ctx.channel.webhooks())[0]
msg = await webhook.execute("test", wait=True)
```
```
Traceback (most recent call last):
  File "/home/nguuuquaaa/bot/Belphegor/belphegor/admin.py", line 131, in _eval
    await func()
  File "<string>", line 3, in func
  File "/usr/local/lib/python3.6/dist-packages/discord/webhook.py", line 197, in handle_execution_response
    return Message(data=data, state=self, channel=self.webhook.channel)
  File "/usr/local/lib/python3.6/dist-packages/discord/message.py", line 213, in __init__
    self._update(channel, data)
  File "/usr/local/lib/python3.6/dist-packages/discord/message.py", line 278, in _update
    getattr(self, '_handle_%s' % handler)(data[handler])
  File "/usr/local/lib/python3.6/dist-packages/discord/message.py", line 291, in _handle_author
    self.author = self._state.store_user(author)
AttributeError: 'AsyncWebhookAdapter' object has no attribute 'store_user'
```
diff --git a/discord/webhook.py b/discord/webhook.py
index 0dfe6ba6..a4f84632 100644
--- a/discord/webhook.py
+++ b/discord/webhook.py
@@ -100,7 +100,7 @@ class WebhookAdapter:
         """
         raise NotImplementedError()
 
-    def _store_user(self, data):
+    def store_user(self, data):
         # mocks a ConnectionState for appropriate use for Message
         return BaseUser(state=self, data=data)
 
['discord/webhook.py']