Rework HealthEndpoint and HealthIndicator

With this commit the state of a component or subsystem becomes a first-class citizen in Boot's application health support. HealthIndicators now return a Health instance with status and some contextual details.

An aggregation strategy has been introduced to aggregate several Health instances into one final application Health instance. Out of the box OrderedHealthAggregator can be configured to allow different ordering or a custom HealthAggregator bean can be registered.
Rename Status.status to Status.code
Return different http return status codes for different system health states

fixes #880
Merge branch 'rework-health-support'