Add optional params to WorldPay

A method that allows you to add custom parameters to a WorldPay transaction.

Create a new order with optional params
```php
$gateway = GatewayFactory::create('WorldPay');

$response = $gateway->purchase(array(
  "amount"=>"300",
  "optional" => array(
    "MC_Order" => "order_id",
    "MC_Customer" => "customer_id"
)))->send();
```

The method to set optional params
```php
public function setOptional($params)
{
  foreach($params as $key => $value)
  {
    $this->setParameter($key, $value);
  }
}
```