When authentication is enabled and proxy mode is on then ensure all silences are created with the username from credentials, rather than what the user sends.
This change switches to v2 API when querying for cluster status on Alertmanager 0.17.0+.
v1 will soon be removed so this is needed to support future Alertmanager releases
Alertmanager 0.4.x silences endpoint uses pagination, code for this was incorrectly dropped in #216, re-add it. Requires a way for mapper packages to signal the need for passing query args to HTTP requests
Internal packages are supported by Go 1.5+, any package in /internal/ dir is only importable from the same repo. This will cleanup main dir a bit and provide better namespace for unsee subpackages