[CM1-912] Update price in product search according to new criterias

The product price search is updated according to these criterias:

1. Prices shall be valid forever unless a newer price is added
2. Valid dates shall be recorded for products so as to show the price history of products
3. In the case the valid date is a date in the past, the Product price shall still be able to be picked up in cases when a CM user select such product
4. In the case there are several prices with different valid dates for one product, two options are available –
a. Choose the price when the Date of Raid happened;
b. Choose the price when the Date of Create case, if the Date of Raid is not available in a case.