Revert "Fixed error output for json_encode"

Summary: This reverts commit 0c1c211537bc49e50bd16676c5ec74a0df426b4d.

Reviewed By: @jdelong

Differential Revision: D1406161
AsyncIterator vs. AsyncKeyedIterator

Summary: Move AsyncIterator to AsyncKeyedIterator and introduce AsyncIterator
that is typed only over yielded value.

Makes it possible to type most of the async generators in lightweight
way without having to specify key type:

  async function foo(): AsyncIterator<int> {
    yield 42;
  }

Reviewed By: @billf

Differential Revision: D1405410