Spreedly Core: Allow overriding the gateway token

This makes it possible to choose the gateway token when running a
transaction, not just when creating the SpreedlyCoreGateway.
Spreedly Core: Add order_id
Spreedly Core: Allow store without retain

Closes #800.