Intermediate API proxy with client-side caching support (not for production)

Serves 2 functions:
 - Enables HTTP authentication to the DHIS API when code resides on
   some other domain than apps.dhis2.org.
 - Enables web clients to cache data returned from the DHIS2 API
   via adding ETag-headers in response. Clients will still re-validate
   their locally, cached version with the proxy on each request. However,
   it's both feasible and recommended to add certain rules for which data
   the client may cache without re-validating. E.g. it would be reasonable
   for clients to keep the optionset of ICD-codes without revalidating their
   copy for several days, months, ...