Finish the ppx extension

`raise_lwt` is arguably "not in ppx spirit" but I think it's OK. At least it doesn't make things worse than with camlp4.
Please put all this code in a function next to `gen_binds` or, if possible, reuse the code. (and pretty pretty please, put the usual syntax expansion line, I had to read it 4 time to understand why you were kneading the AST like that).

A function `lwt_structure` analogous to `lwt_expression` might be a good idea.

Also, should we raise an error on recursive binding ? It might be a better idea than silently ignoring it.