ipro: preconditions and limitations for ipro

- This prevents caching of html in the IPRO flow. More accurately,
  it make sure that only contenttypes that are applicable will be
  cached and treated as such.
- Fixes leaking recorders for aborted responses & incrementing the
  failure statistics for them.
- Adds a limitation on the amount of data that can be recorded for a
  response.
- Adds a limitation to the amount of recordings that can be in
  progress at once.
- Adds some system tests.

Modification to (Ngx)InPlaceResourceRecorder:
- Adjust the interface to be able to bail out as soon as the
  decision can be made that IPRO cannot be applied. This prevents
  having to buffer a lot of responses
- Performs a sanity check on the content length received in the
  response headers (if any).
- Adds 2 statistics for tracking counts of ipro recordings dropped
  for being too large or when too many are in progress

New stats: ipro_recorder_too_many, ipro_recorder_too_large
New options: IproMaxConcurrentRecordings, IproMaxResponseBytes