AST: Remove layering violation with Sema

Scope lives in Sema and cannot be used in AST. Shuffle things around.


git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@202993 91177308-0d34-0410-b5e6-96231b3b80d8
[code-completion] Add a couple of test cases suggested by Jordan, and a FIXME.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@202995 91177308-0d34-0410-b5e6-96231b3b80d8