title: BotFramework Prompts.text() skipping immediately to the next step in Waterfall
body: <p>I'm trying to put together a simple weather bot in the MS Bot Framework, but I'm running into an issue where Prompts.text appears to be immediately skipping past actually waiting for user input (testing in the emulator).</p>
  
  <p>I've cut out a bunch of code but the following still repros:</p>
  
  <pre><code>bot.dialog('checkWeather', [
      function (session, args, next) {
          var location = builder.EntityRecognizer.findEntity(args.intent.entities, "builtin.weather.absolute_location");
  
          if (!location) {
              session.beginDialog("getLocation");
          } else {
              session.privateConversationData.location = location.entity;
          }
  
          next();
      },
      function (session, results, next) {
          var location = session.privateConversationData.location;
  
          session.send('Okay! I am going to check the weather in %s!', location);
      }
  ])
      .triggerAction({ matches: 'builtin.intent.weather.check_weather' });
  
  bot.dialog('getLocation', [
      function (session) {
          builder.Prompts.text(session, 'For which area would you like me to check the weather?');
      },
      function (session, results) {
          session.privateConversationData.location = results.response;
          console.log('Location entered was: %s', results.response);
          session.endDialog();
      }
  ]);
  </code></pre>
  
  <p>In the case where a location is not found by the <code>findEntity</code> call in the third line of the code, what happens is we move in to the getLocation dialog, and then immediately go through it without waiting for the user to type something in response. From the console output I see:</p>
  
  <pre><code>ChatConnector: message received.
  session.beginDialog(*:checkWeather)
  checkWeather - waterfall() step 1 of 2
  checkWeather - session.beginDialog(getLocation)
  .getLocation - waterfall() step 1 of 2
  .getLocation - session.beginDialog(BotBuilder:Prompts)
  ..Prompts.text - session.send()
  ..Prompts.text - session.sendBatch() sending 1 messages
  ..Prompts.text - session.endDialogWithResult()
  .getLocation - waterfall() step 2 of 2
  Location entered was: undefined
  .getLocation - session.endDialog()
  checkWeather - waterfall() step 2 of 2
  checkWeather - session.send()
  checkWeather - session.sendBatch() sending 1 messages
  </code></pre>
  
  <p>and in the Bot Framework Emulator itself you can see that a message was never sent from the client to the bot:</p>
  
  <pre><code>[21:32:14] -&gt; POST 202 [message] Hows the Weather 
  [21:02:14] &lt;- GET 200 getUserData 
  [21:02:14] &lt;- GET 200 getPrivateConversationData 
  [21:02:15] &lt;- POST 200 setPrivateConversationData 
  [21:02:15] &lt;- POST 200 Reply[message] For which area would you like me to check the weat... 
  [21:02:15] &lt;- POST 200 setPrivateConversationData 
  [21:02:15] &lt;- POST 200 Reply[message] Okay! I am going to check the weather in undefined... 
  </code></pre>
  
  <p>I'm sure I'm missing something simple here, but I simply cannot spot it. If anyone has any ideas I'd love to hear them!</p>