Use the calculated reconnect delay to determine worker restart policy
Extract explanatory function
Refactor shovel_sup for better clarify

Apply defaults in shovel_config and wrap our initial call to parse
in `validate_shovel_config' so as to explain why we're throwing away
the parsed shovel record.
Merged bug25542 into stable