Switch shovel_sup over to mirrored_supervisor

To do this, we have to move the configuration parsing into the
shovel_worker's gen_server:init callbacks, which means that
badly configured workers will keep being restarted by the
supervisor.
Pass the module to mirrored_sup as the group name
Use an intermediate supervisor to restart workers
Backout changeset e836088f23962b1df1a7bffd86dbbbd8322c4753
Wrap each shovel worker in an intermediate mirrored supervisor
validate worker configurations on startup
Inline verify_worker_configuration/5 since it mutually recurses which is not exactly obvious from the name.
Merge bug24850