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.
Add struct gen_ext

This struct will be used to transmit all the output of the ppcg generated
isl* structures.
 - context: represents the constraint of the gpu_prog.
 - guard: guard of the host code.
 - tree: host code ast_node.
 - prog: gpu_prog struct.