Add support for OpenCL 2.0 atomic functions (#657)

* Add support for atomic_fetch_*[_explicit], atomic_exchange[_explicit]
  and atomic_compare_exchange_(weak|strong)[_explicit]
* small refactoring of the code
* tests
* Fix builtins for atomic_fetch* functions
  * previously they were all under key instead of individual functions
* Support atomic types
* Add documentation
diff --git a/lib/FrontendPlugin.cpp b/lib/FrontendPlugin.cpp
index df655cd..c671e8f 100644
--- a/lib/FrontendPlugin.cpp
+++ b/lib/FrontendPlugin.cpp
@@ -252,6 +252,10 @@
       return true;
     }
 
+    if (QT->isAtomicType()) {
+      return true;
+    }
+
 #ifndef NDEBUG
     llvm::dbgs() << "IsSupportedType lacks support for QualType: "
                  << QT.getAsString() << '\n';