This patch mostly just splits up clang-plugin.cpp into separate files for different classes or helpers.