BUG: Fix pd.json_normalize to not skip the first element of a generator input


- [x] closes #35923
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

Consuming the generator seemed the easiest way to me. Since we also went for this approach in other location of the codebase I used it here as well. 

Please LMK if we want to solve this is another way, i.e. not consuming the whole generator at once. Failures in CI caused by #38703  Fair point. I might be misremembering but I feel like we do something similar for other IO methods, so a common way of doing that would be nice. But agreed for scope of this PR converting to list is fine

> On Dec 29, 2020, at 10:39 AM, Jeff Reback <notifications@github.com> wrote:
> 
> 
> @jreback commented on this pull request.
> 
> In pandas/io/json/_normalize.py <https://github.com/pandas-dev/pandas/pull/38698#discussion_r549807766>:
> 
> > @@ -261,9 +261,12 @@ def _pull_records(js: Dict[str, Any], spec: Union[List, str]) -> List:
>  
>      if isinstance(data, list) and not data:
>          return DataFrame()
> -
> -    # A bit of a hackjob
> -    if isinstance(data, dict):
> +    elif isinstance(data, abc.Iterator):
> +        # GH35923 Fix pd.json_normalize to not skip the first element of a
> +        # generator input
> +        data = list(data)
> we barely support generators (its not even documented), so -1 if this adds any complexity.
> 
> —
> You are receiving this because you commented.
> Reply to this email directly, view it on GitHub <https://github.com/pandas-dev/pandas/pull/38698#discussion_r549807766>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAEU4UOCSISA6VXUMZEHTMLSXIO4RANCNFSM4VJFUZVA>.
> 

 thanks @avinashpancham 