Use a single event handler for all nav links

For every link an event handler was being registered, now a single
document-scoped handler is used.
Commands publish validatedFailed event
Stop observable in observable in validation

Observables within observables are generally a bad practice, but can
cause
real problems in validated observables, so throw an error early if that
ever happens.