GlobalValue: Testcase for hidden visibility and local linkage

This is a testcase for r209227, a change in LLVM that automatically sets
visibility to default when the linkage is changed to local (rather than
asserting).

What this testcase triggers is hard to reproduce otherwise:  the
`GlobalValue` is created (with non-local linkage), the visibility is set
to hidden, and then the linkage is set to local.

PR19760

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209228 91177308-0d34-0410-b5e6-96231b3b80d8
Fix testcase from r209228

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209229 91177308-0d34-0410-b5e6-96231b3b80d8
Update AttributeReference.rst.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209231 91177308-0d34-0410-b5e6-96231b3b80d8
Revert r209231, "Update AttributeReference.rst."

According to Aaron, this is being generated on the server now.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209232 91177308-0d34-0410-b5e6-96231b3b80d8
Cleaning up some range-based for loops so that the automatic type deduction is more explicit about pointers and const. Did some minor drive-by const correctness fixes and identifier updates as well. No functional changes.

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