Added the new(ish) submit-failed state to restart checks

Restarting with a submit-failed task was erroneously treated as an error
condition.
Merge pull request #668 from hjoliver/submit-failed-state-at-restart

Added the new(ish) submit-failed state to restart checks
cylc suite held state: re-allow manual task trigger
cylc suite held state: rejig
cylc scheduling: fix runahead reset state
Don't coerce None values in validation.
Less retarded pruning of empty broadcast settings.
Better comment.
Merge pull request #669 from benfitzpatrick/cylc.fix-hold-trigger

cylc suite global held state: fix trigger, release
Merge pull request #671 from hjoliver/670.broadcast-cancel-bug

670.broadcast cancel bug
validation: check type of __MANY__ matches
Use new exception class.
Fixed typo in previous commit.
Merge pull request #674 from hjoliver/673.validate-unexpected-item

validation: check type of __MANY__ matches