Fix virtualized cell keys for list headers and footers
Fix virtualized cell keys for list headers and footers

Summary:
The change enabling virtualization in nested lists contained a hidden assumption that nested lists would only appear within the *cells* of a parent list.

If a list header or footer component contains a `VirtualizedList`, that child list won't be wrapped in a `CellRenderer` component and therefore won't have access to `virtualizedCellRenderer` through its context. This causes an error when the child list tries to access the `cellKey` property on an undefined object.

This change wraps the header/footer views in a `VirtualizedCellWrapper` component which supplies that context properly.

Reviewed By: sahrens

Differential Revision: D6603342

fbshipit-source-id: 4d2d82f04947048a16ec9968121d8ecc8c95655a

hoangpham95/react-native,ptmt/react-native-macos,hoastoolshop/react-native,myntra/react-native,ptmt/react-native-macos,rickbeerendonk/react-native,myntra/react-native,jevakallio/react-native,pandiaraj44/react-native,javache/react-native,exponentjs/react-native,hoangpham95/react-native,exponentjs/react-native,exponent/react-native,jevakallio/react-native,ptmt/react-native-macos,hoangpham95/react-native,exponent/react-native,pandiaraj44/react-native,facebook/react-native,javache/react-native,facebook/react-native,jevakallio/react-native,janicduplessis/react-native,exponent/react-native,facebook/react-native,exponent/react-native,jevakallio/react-native,janicduplessis/react-native,exponent/react-native,exponent/react-native,hammerandchisel/react-native,hoastoolshop/react-native,hammerandchisel/react-native,pandiaraj44/react-native,arthuralee/react-native,arthuralee/react-native,javache/react-native,rickbeerendonk/react-native,hammerandchisel/react-native,facebook/react-native,ptmt/react-native-macos,exponentjs/react-native,jevakallio/react-native,javache/react-native,facebook/react-native,hoastoolshop/react-native,pandiaraj44/react-native,exponentjs/react-native,javache/react-native,janicduplessis/react-native,jevakallio/react-native,ptmt/react-native-macos,arthuralee/react-native,rickbeerendonk/react-native,hoangpham95/react-native,janicduplessis/react-native,dikaiosune/react-native,jevakallio/react-native,hoangpham95/react-native,javache/react-native,exponentjs/react-native,rickbeerendonk/react-native,hoastoolshop/react-native,exponent/react-native,rickbeerendonk/react-native,arthuralee/react-native,dikaiosune/react-native,ptmt/react-native-macos,exponentjs/react-native,hoangpham95/react-native,javache/react-native,pandiaraj44/react-native,rickbeerendonk/react-native,rickbeerendonk/react-native,rickbeerendonk/react-native,ptmt/react-native-macos,arthuralee/react-native,javache/react-native,facebook/react-native,janicduplessis/react-native,myntra/react-native,dikaiosune/react-native,myntra/react-native,facebook/react-native,jevakallio/react-native,janicduplessis/react-native,hoastoolshop/react-native,dikaiosune/react-native,facebook/react-native,janicduplessis/react-native,janicduplessis/react-native,hammerandchisel/react-native,dikaiosune/react-native,jevakallio/react-native,hoangpham95/react-native,exponentjs/react-native,dikaiosune/react-native,hoastoolshop/react-native,rickbeerendonk/react-native,myntra/react-native,hammerandchisel/react-native,pandiaraj44/react-native,hammerandchisel/react-native,hammerandchisel/react-native,myntra/react-native,hoastoolshop/react-native,exponent/react-native,myntra/react-native,exponentjs/react-native,myntra/react-native,ptmt/react-native-macos,facebook/react-native,pandiaraj44/react-native,dikaiosune/react-native,hoastoolshop/react-native,dikaiosune/react-native,javache/react-native,pandiaraj44/react-native,hammerandchisel/react-native,myntra/react-native,hoangpham95/react-native