use class Webserver to implement recursor http server
Rename (json_)ws.(cc|hh) to ws-(auth|recursor).(cc|hh)

Because that's really what those files are: the implementation of
the webserver in the Auth or Recursor server, respectively.
rename StatWebServer -> AuthWebServer
rename JWebserver -> RecursorWebServer
webserver: determine daemon_type by product type
api: share apiServer* code across auth, recursor

Gives us "free" implementations of /servers, /servers/localhost,
/servers/localhost/{config, search-log, statistics} for the recursor.

Move JSON helper functions from ws-auth.cc to json.cc; turn
parseJsonBody into HttpRequest::json().
webserver: add HttpResponse.setBody(json document)

Convenience method.
Add API test suite for recursor
Keep Recursor webserver as experimental
Merge pull request #1249 from zeha/f/rec-ws

Refactor Recursor webserver
regression-tests: fix PATH for named-checkzone

named-checkzone lives in /usr/sbin, and regular users don't have that
in their PATH (except on Ubuntu).
gsqlbackend: remove hardcoded replaceRRSet queries
gsqlbackend: use boost::format in list()

Preparational commit.
gsqlbackend: reformat feedRecord

Those boost::format() calls with everything in one line are a pain
to read.
g*sql: put common query parts in a variable
gsql: stop hardcoding list-subzone-query
Fix gsql query-logging not always working

query-logging would only be taken into account after the first direct
(DNS) query; getAllDomains and other calls before the first query would
not get the logging. Problematic when the backend instances are
short-lived.
Implement "disabled" records for GSQL backends
Merge pull request #1254 from zeha/disabled

WIP: Add support for marking domains and records as disabled
install ldap lib + add it to modules in travis