Correções básicas

É  bom que os nomes das classes fiquem sempre em maiúsculo.

&mdash; *Sugestões*:
- Tornar o `ProductStorage.get` apenas por ID, we aren't a SQL engine;
- O nome "engine" e seu namespace "engines" são bem genéricos, evitar plural também é uma boa, talvez o mais apropriado seria `Storage` ou qualquer coisa que descreva melhor o grupo;
- A pasta `dist`, vem de **distribution***, que é normalmente conhecida por ser a pasta que contém os arquivos *compilados*, ou seja: a distribuição da biblioteca, etc, sugiro mudar para `src`;
- `flush` dá a ideia de enviar, porém aqui: [#L26-L28](https://github.com/cartjs/cartjs/blob/master/dist/cart.js#L26-L28), é apenas um clear do array, talvez mudar o nome para algo mais "entendível"? `.clear`, `.clearAll`, `.drop`;
- Qual o motivo de ter `items` em `Cart`? isso já não é trabalho do seu `Storage`?

:beers: :+1: