Cleanup includes. (#1795)

This Cl cleans up the include paths to be relative to the top level
directory. Various include-what-you-use fixes have been added.
diff --git a/source/opcode.cpp b/source/opcode.cpp
index f03da6c..af34b64 100644
--- a/source/opcode.cpp
+++ b/source/opcode.cpp
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-#include "opcode.h"
+#include "source/opcode.h"
 
 #include <assert.h>
 #include <string.h>
@@ -20,12 +20,12 @@
 #include <algorithm>
 #include <cstdlib>
 
-#include "instruction.h"
-#include "macro.h"
+#include "source/instruction.h"
+#include "source/macro.h"
+#include "source/spirv_constant.h"
+#include "source/spirv_endian.h"
+#include "source/spirv_target_env.h"
 #include "spirv-tools/libspirv.h"
-#include "spirv_constant.h"
-#include "spirv_endian.h"
-#include "spirv_target_env.h"
 
 namespace {
 struct OpcodeDescPtrLen {
@@ -33,7 +33,7 @@
   uint32_t len;
 };
 
-#include "core.insts-unified1.inc"  // defines kOpcodeTableEntries_1_3
+#include "core.insts-unified1.inc"
 
 static const spv_opcode_table_t kOpcodeTable = {ARRAY_SIZE(kOpcodeTableEntries),
                                                 kOpcodeTableEntries};