Support the new DiagnosticRemarks

Add support for generating optimization remarks after completing the
detection of Scops.
The goal is to provide end-users with useful hints about opportunities that
help to increase the size of the detected Scops in their code.

By default the remark is unspecified and the debug location is empty. Future
patches have to expand on the messages generated.

This patch brings a simple test case for ReportFuncCall to demonstrate the
feature.

Reports all missed opportunities to increase the size/number of valid
Scops:
 clang <...> -Rpass-missed="polly-detect" <...>
 opt <...> -pass-remarks-missed="polly-detect" <...>

Reports beginning and end of all valid Scops:
 clang <...> -Rpass="polly-detect" <...>
 opt <...> -pass-remarks="polly-detect" <...>

Differential Revision: http://reviews.llvm.org/D4171

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@211769 91177308-0d34-0410-b5e6-96231b3b80d8
Support for LLVM-style RTTI isa<...>, dyn_cast<...> et al.

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