Cambios en Descuento, agregado de AplicacionDescuento e implementacion
de Venta y LineItem.

Para hacer pruebas, usen de Venta el agregarProducto y aplicarDescuento
para agregar productos y descuentos.

El algoritmo que arbitra cuáles descuentos se aplican es
agregarAplicacionDescuento(), vean si pueden entender qué hace. Tengo
que arreglarlo (está sin probar!) y dividirlo en varios métodos
auxiliares.

Falta agregar el Descuento para manejar descuentos de varios productos
distintos, en un rato lo implemento.