Add CartStateRefresher and OrderEntityListener to update the current cart whenever it is saved within a single request

This should duplicate the paradigm from #365