If the block implicitly referencing self doesn't escape, there is no risk of creating retain cycles, so clang shouldn't diagnose it and force users to add self-> to silence the diagnostic.
Also, fix a bug where clang was failing to diagnose self referenced inside a block that was nested inside a c++ lambda.
rdar://problem/25059955
"innermost" is one word, so this should be getInnermostBlockDecl.