Add GPGPU codegen related files from ppcg into polly

Not made any changes at the moment.
Update pet.h with the up-to-date one from ppcg
Remove and comment unused header includes

pet.h has been included in ppcg.h thus no need to include it once again.
Change header include from <pet.h> to "pet.h"
Comment out main function
Update makefile to include GPGPU codegen files into build

All the added GPGPU codegen files compiled successfully.
Remove use of isl_printer parameter in "generate" function

The original generate function is divided into 2 parts:
 - the new generate function: store the generated ast_node host tree
    in gen and return void.
 - ppcg_print_guard: print the host end codes, e.g. the outermost
   non-parallel loops and if guards, not implemented yet.
 - gen_free: do the cleanup staff for gpu_gen struct.

Two functions call or use "generate" as callback are commented out.
 - generate_wrap
 - generate_gpu

Add new declaration of generate_gpu to gpu.h.
Update ppcg_transform to output ppcg_scop to PTXGenerator

Changes are listed here:
 - Remove use isl_printer * parameters.
 - Modify transform function that don't use it as callback.
 - Add ppcg_cleanup interface to free ppcg_scop and pet_scop.
 - Update the declaration in the header file.
Revert "Update ppcg_transform to output ppcg_scop to PTXGenerator"

This reverts commit ecdf871df78bca85211aa9e7f299ceff5311f900.
Rename *.c to *.cpp

So that we can use polly's data structure in ppcg. In the next step,
pet_stmt will be replaced with polly::ScopStmt. ppcg_option.c is
deleted because we never call any functions in it.
Do not check format of the GPGPU codegen sources.
Replace use of pet_stmt with polly::ScopStmt
Add an isl_id to MemoryAccess class.

This ref_id will be tagged with the MemoryAccess.
Replace pet_scop with polly::Scop

Some functions from pet/scop.c file is copied into ppcg.cpp and
modified with input of a polly::Scop pointer.
Add ppcg_scop_from_pet_scop to ppcg.h

Make the function an interface that can be called externally.
Remove static of ppcg_scop_free function

Make it an external interface.
Remove static to make tag_access an external interface
Update extract_stmts function to avoid iterating all the pet_stmts

extract_stmts function is used to collect all the gpu_stmts. In ppcg,
every pet_stmt is iterated to look for gpu_stmt and especially those
access pet_expr (statements). In polly, we already have access info in
MemoryAccess. Thus, use MemoryAccess rather than pet_expr to
reimplemented extract_stmts function.
Add IslPTXGenerator

IslPTXGenerator is used to generate llvm IR for both the host and
device.
Add Guard and remove Sched

Guard represents the guard (e.g. if-structure) of the host code.
Since all the calculation of ast_node is done by generate_gpu, Sched is
no longer used. So remove it.