Transactions:
- implement _emit() to emit operations for __emit_add(), __emit_remove() and end()
  emits to the pipelet if provided, otherwise emits event 'add' or 'remove'
- __emit_add(), __emit_remove() and end(): use _emit()
- Update documentation
- simplify and improve uglyfy transactions:
  - listen to transaction events 'add', 'remove' and 'ended' to call Super methods
  - implement a _get_transaction() replacing _start_transaction_options()
  - use transaction __emit_add() and __emit_remove()
  - remove deprecated _end_transaction_options()