Use scoped ordering.

This removes the need to use the helper function which was breaking parts.

NOTE: IF we want the behaviour of new guides to have at least one part, that is something we should enforce in the models with a before_create. Doesn't belong in the view.
Fix tests and use specific selectors
Fix auto slug generation for newly added parts

Since moving to use nested forms, we now need to listen for a nested field added event and attach the auto slug generator handler accordingly.
Remove helper of a guide having at least one part

This enforcement, needs to be done on a model level, not within a view helper.
Betterer ruby
Merge branch 'fix_broken_parts' of github.com:alphagov/publisher into fix_broken_parts
Use scoped ordering for programmes