Subo algo para que sepan que estoy trabajando en esto; todavía faltan
clases, y seguramente algunos cambios, antes de poder decir que las
interfaces están completas.
Agrego las clases que faltan.

Creo que puse getters/setters para casi todo, pero en realidad no
aseguro que sea correcto tenerlos en todos los casos donde aparecen.

Iré completando las implementaciones que faltan, supongo que empezaré
con las clases de Descuento. Creo que debería agregar un builder para
armar promociones.