Core of the HAPI server. This includes servlets implementing about and catalog responses, info responses, and the more complex data response. The info responses are kept in an in-memory cache, possibly plugging in macro values. Data responses are implemented by pairing a HapiRecordSource with a DataFormatter.