Rename check_preconditions to check_pre_conditions

To be consistent.
Don't test skipping logic in view

Simply redirect to the next view in the chain and allow the
pre-conditions to handle redirecting to the right view.
Distinguish between pre- and skip-conditions for checkout views

Terminology:

- A *pre*-condition is a condition that must be met in order for a view
  to be available. If it isn't then the customer will be redirected to
  a view *earlier* in the chain.

- A *skip*-condition is a condition that must NOT be met in order for a
  view to be available. If the condition is met, this means the view can
  be skipped and the customer should be redirected to a view *later* in
  the chain.

This change implements the above by introducing skip conditions for
checkout views. They allow the previous payment pre-conditions to be
cleanly separated.

An existing basket pre-condition is also changed to be a skip-condition.
Correct guest checkout test assertion