[clang-tidy] Implement the include order checker for LLVM.

There are still a couple of rough edges in here but it is working fine
on LLVM and generates the same results as sort_includes.py if there are
no blank lines involved.

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@215152 91177308-0d34-0410-b5e6-96231b3b80d8