Price calculators

Fixes issue #1120.

This will allow us to have custom price calculators. For example, we have something like this in our project.

```php
<?php

namespace Sylius\Bundle\CoreBundle\Calculator;

use Sylius\Bundle\CoreBundle\Entity\Variant;
use Sylius\Bundle\CoreBundle\Provider\RegionalPriceProvider;

class RegionalPriceCalculator implements PriceCalculatorInterface
{
    private $regionalPriceProvider;

    public function __construct(RegionalPriceProvider $regionalPriceProvider)
    {
        $this->regionalPriceProvider = $regionalPriceProvider;
    }

    public function calculate(Variant $variant)
    {
        return $this->regionalPriceProvider->getRegionalCurrentPrice($variant);
    }
}

```