Simplify progress nodes memory organization
Simplify progress nodes memory organization

When id key data is stored directly in node and shared memory size is known,
all data structures can be allocated upfront.
Data is organized as:
  cache->count:  size of arrays, derived from available shared memory size,
  cache->nodes:  array of nodes (static size),
  cache->list:   array of node indexes 1..count (static size),
  cache->active: how many nodes are used by pending uploads
Active node indexes are stored on the beginning of the list.

Signed-off-by: Michał Pokrywka <32496b2fd36e63f498912effa368e8117e585ca9@gmail.com>

drogus/apache-upload-progress-module