Add Custom Fields Support

Hey, thanks for making this library, it's proved immensely useful in an application I'm building.

Part of the requirements for my application is sending auxiliary information (user id, page name, etc) for use in reporting. VirtualMerchant will accept this information if these fields are defined in the admin panel, but the Gem as it stands provides no simple way to send it.

I've simply added an optional `custom_fields` argument to all methods leading to the xml generation, and a loop adding keys and values of the custom_fields hash into the XML.