Add Product support

Add a new concept into Grapes. Called Product, the aim is to be able to create coherent set of module that can be used together as a software entity.