preprocessor: Miscellaneous cleanups

- Use full header paths in includes
- Use ASSERT instead of assert
- Use angle::NonCopyable instead of PP_DISALLOW_COPY_AND_ASSIGN
- Use range-for in a couple places
- Remove pp_utils.h

BUG=angleproject:1522

Change-Id: If107fef89e8465bca65cf664926d1051c5d1e232
Reviewed-on: https://chromium-review.googlesource.com/387212
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/compiler/preprocessor/Token.h b/src/compiler/preprocessor/Token.h
index 347c47e..716503b 100644
--- a/src/compiler/preprocessor/Token.h
+++ b/src/compiler/preprocessor/Token.h
@@ -10,7 +10,7 @@
 #include <ostream>
 #include <string>
 
-#include "SourceLocation.h"
+#include "compiler/preprocessor/SourceLocation.h"
 
 namespace pp
 {
@@ -113,7 +113,7 @@
     return !lhs.equals(rhs);
 }
 
-extern std::ostream &operator<<(std::ostream &out, const Token &token);
+std::ostream &operator<<(std::ostream &out, const Token &token);
 
 }  // namepsace pp