[api] allow customize authorize token useraction and cmd.

This PR allows to modify authorize token query parameters: `useraction` and `cmd`. It supports both variants static and in runtime. Originally requested in https://github.com/Payum/PaypalExpressCheckoutNvp/pull/23:

To set it globally pass values as api options:

```php
<?php

$api = new Api($client, array(
    'useraction' => Api::USERACTION_COMMIT,
    'cmd' => Api::CMD_EXPRESS_CHECKOUT_MOBILE,
));

echo $api->getAuthorizeTokenUrl('aToken');
// https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout-mobile&token=aToken
```

or in runtime:

```php
<?php

$api = new Api($client, $options= array());

echo $api->getAuthorizeTokenUrl('aToken', array(
    'useraction' => Api::USERACTION_COMMIT,
    'cmd' => Api::CMD_EXPRESS_CHECKOUT_MOBILE,
));
// https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout-mobile&token=aToken
```

To pass these values using your PaymentDetails models set next fields:

```php
<?php

$model = new PaymentDetails;
$model['AUTHORIZE_TOKEN_CMD'] = Api::CMD_EXPRESS_CHECKOUT_MOBILE;
$model['AUTHORIZE_TOKEN_USERACTION'] = Api::USERACTION_COMMIT;

$payment->execute(new CaptureRequest($model));
```
Pay attention that second variant will overwrite values passed as options. You could also use second variant to pass any other parameters.

TODO:

* update docs.
* update bundle paypal factory with new options.