Added currencyWrapper to purchasable factories
Purchasable factory fixes and improvements

* Purchasable factories now extend a common Abstract factory
* Factory service definition is declared as abstract/parent
* Default currency is injected, no need to inject CurrencyWrapper
* Purchasable factories are now prototype scoped
* Style and comment fixes
Removed prototype scope from purchasable factories
Reverted injection of instance provider currency