Do not mark a server as down if the agent is unavailable

In the case where agent-port is used and the agent
check is a secondary check to not mark a server as down
if the agent becomes unavailable.

Signed-off-by: Simon Horman <horms@verge.net.au>
Add DRAIN state and report it on the stats page

Add a DRAIN sub-state for a server which
will be shown on the stats page instead of UP if
an agent check is in use and the agent has most recently returned "drain".

Signed-off-by: Simon Horman <horms@verge.net.au>