Added touching of parent to make cache of cart autoexpire
Refactored references to scheme keys as db saves them as strings
Refactor of price counting
DRY'ing up specs
Adding memorisation of applied group discount
Added spec for memoization
Added caching of price
Refactored memoization to be a hash over discount id's