Added allow_registration to webapp config.yml.

- See issue #5217
- See companion change in leap_web
update couchdb puppet module
proper json for tapicero config
fix couch tests to use admin credentials
adopt webapp test to new hiera couch clients format
haproxy default to couch_write, couch_read on GET

METH_POST probably does not catch PUT, DESTROY etc. So instead we
now use the master as the default and only use the replications
for GET and HEAD requests.
haproxy connects to a local couch if available

When running a service that requires couch (webapp or mx) on a node that also had couch running the haproxy was confused because it did not have an stunnel port for the local couch.

Emit a more useful error and fixed this for webapp and mx
Merge remote-tracking branch 'fbernitt/issue_5217_allow_registration' into develop
fix haproxy_servers call with couchdb default port
Introduce eip-service-2.json to add values for obfsproxy
Make web_app serve eip-service-2.json, with obfsproxy details
Let eip-service-2.json pick obfsproxy details from vpn nodes too.

When obfsproxy is deployed alongside eip service, gateway address
will be used. If standalone, ip_address will be used.
In eip_service_2 definition, move gateways from array to hash
Remove serial and version from eip_service_2 definition
/1/configs.json list service definition files by version

Introduces configs.json which list available service definition
files by version. Feature #5704
Make webapp serve /1/configs.json, config files by versions
Make definition files available in srv/leap/webapp/config/provider