Fix calls to private methods made static
Fix calls to private methods made static

Summary:Essentially when we "promote" a method to static from private we need to make sure all calls to that method are via invoke-static.
In the specific case we had 2 wrappers to the same method and one was private the other static. So in the private to private case we did not update the invoke (invoke-direct to invoke-direct) in the static wrapper case we changed the method (which was the same as in the direct to direct case) to static. But we left an invoke-direct behind.
So in a super safe mode we collect all the methods promoted to static and we make another pass through all the opcodes and for every direct call if it was to one of the promoted method we change it to invoke-static.

Reviewed By: dcolascione, grfrost, satnam6502, bertmaher

Differential Revision: D3183157

fb-gh-sync-id: bbc3c5de744a7b34fef2935c515f02535ea367d9
fbshipit-source-id: bbc3c5de744a7b34fef2935c515f02535ea367d9

facebook/redex,facebook/redex,facebook/redex,facebook/redex,facebook/redex,facebook/redex,facebook/redex,facebook/redex,facebook/redex