Startup notification callbacks

This pull finally complete a feature that started in my June 2013 pull. It is now possible to have pass arguments to awful.spawn() to, for example, spawn in a new tag. It also add some other things to make it easier to use.

It is a "big" pull, sorry about that. I tried to avoid making so much changes, but in the end they are required, so umm, have an happy time reviewing this.