Refactored Core Order Checkout and added more tests.

Guys,
To get started into Spree codebase, I did a small refactoring in the Order Checkout code. I removed some temp variables from methods and tried to make things more readable.

On block chaining, I didn't find any example to follow, so I followed this [Ruby Style Guide: Blocks](http://xaviershay.com/ruby-style-guide#blocks-and%20procs) - let me know if it fits or has a better way to do.

I've added tests for `remove_transition` and more one to `find_transition`. There is no broken test

I hope this would be a good way to start :)