Merge pull request #28 from tarunbhardwaj/develop

Fixed saving of email for guest user while checkout #4442
Move out actual payment processing from payment_method #4451

Moved actual payment processing code out of payment_method to
_process_payment method. So that other modules can easily modify
the behavior of processing payment independently.