Refactoring Shopping cart management

I'm updating the way how we manage the shopping cart by adding new
Classes and new services to improve the object responsibilities.
This change affect every page that is connected or has some relationship
with Shopping cart or Orders.
Hence, some pages will need updates to fit this update.