Revert "Revert "Check for spree.login_path, not spree.spree_login_path in unauthorized redirect""

This reverts commit 34bef72f714f939cda33e1047cc6b734363ecf33.

Wrong commit was reverted!
Revert "Don't require payment methods if payment isn't required"

This reverts commit 318b820114d6d631e9be6ddb500e6a234612407f.

This is causing build breakages:

http://ci.spreecommerce.com/viewLog.html?buildId=1533&buildTypeId=bt5&tab=buildLog

payment_required? is calling update_totals, which causes a massive callback
chain and ultimately results in these tests failing