Add DbContextSavingChanges event, then use it to achieve orphan-deletes
Move Kooboo.Commerce.Data.Mapping to Kooboo.Commerce project
Move web related stuff to Kooboo.Commerce.Web.Framework from infrastructure project
Remove HAL because it's not used anymore, and remove Kooboo.Commerce.API.CmsSite
Refactor current commerce instance resolving
Now commerce area pages use "instance" query string to resolve current instance instead of "commerceName"
Refactoring: Simplify event dispatching; delete over abstracted interfaces