Corrected display of error message
Added error message after header search fails
Added progress indicator for header check
run things at startup and report exceptions

- Use `Parallel.ForEach` to run startup tasks
- Only Stop tasks that have been started successfully
- Use `Task.WaitAny` instead of `Task.Wait` so no exception is thrown
- Only `Bus.Shutdown` when starting, not while stopping
Use ManualResetEvents instead of WaitAny for Bus.Shutdown of tasks

- Events used instead of Task.WaitAny to avoid a race condition and
ensure tasks are stopped even when Shutdown is called immediately after
Bus.Start
- ManualResetEvents used instead of AutoResetEvents so Bus.Shutdown
doesn't freeze when called more than once in a row (eg one call due to
exception, another due to closing the service)
- Interlocked.Exchange used so multiple Shutdown calls Stop tasks only
once
As_AHost role does not exist.
Merge branch 'release-5.0.0' into develop
Merge remote-tracking branch 'origin/release-5.0.0' into develop

Conflicts:
	src/NServiceBus.Core/Hosting/Roles/RoleManager.cs
Merge branch 'release-5.0.0' into develop
Merge branch 'release-5.0.0' into develop
Need to be public for distributor
Added stop to FeatureStartupTask
Cleanup timer
Added ProcessingMachine and OriginatingMachine headers back, fixes #2219
subscription behavior should actually check if the received message is a subscription
fixes issue 2221
the test could complete before the audit endpoint processed the message, screwing up both tests
fix spelling
Fixed test that exposes #2221
Unnecessary code