Set sale as paid when all payments are received.

Before this patch, you could have a sale status as confirmed, instead of
paid, even if all payments of that sale are already paid.

Also, we are moving a business logic from the GUI to the domain.

Change-Id: Ie38a2a9da44275bbe9c33ce17f3a032325885f86
Merge "Set sale as paid when all payments are received."