iPOPO auto-restarts components after the update of their bundle

* Pelix:

  * new BundleEvent kinds: UPDATE_BEGIN and UPDATE_FAILED
  * update events are now correctly sent during Bundle.update() (but not Framework.update())
  * the UPDATED event is sent at the end of the update, i.e. after the ACTIVE event if the bundle has been restarted

* iPOPO:

  * if a component has the 'pelix.ipopo.auto_restart' property, its factory, name and properties
    are stored while its bundle is updated. It is reinstantiated of the update is successfully done.
  * if the update fails, the components are lost: the updater must restart them