Fixing Spree::Product.active to reflect the change in parameters in spree core

Hi, i noticed an error when viewing a product. It's being caused by the currency being passed in to the Spree::Product.active scope when you arent logged in as an admin. This is because the parameters for the scope Spree::Product.available have change in core, so I have reflected this change here. Sorry if the tests are a little overkill, I retrospectively added a spec for each of the major possibilities of the active scope to make sure I everything still worked as expected.