Ppx syntax extension

So, I think it's ready now. There is still a small opam issue (see https://github.com/ocaml/opam/issues/1572) but we can take care of that later. 

@diml : I added documentation and the code is ready to be looked at.

There is annoying point [here](https://github.com/ocsigen/lwt/blob/0ebf3b1b9e44cd0073075b42178bb51685c590a5/_oasis#L332) but there is no clean solution with oasis.

cc @whitequark
"ocaml setup.ml -install" will copy ppx_lwt_ex.byte into $bindir/ppx_lwt. The need to name it after the main file + .byte is due to ocamlbuild that uses this rule to do that. 

If you need to access the name of the executable within the file _oasis, you can use $ppx_lwt that will be evaluated to whatever "best/byte/native" will choose as a name. 

Does it answer your question ?