Use caution with array granularities

All CArray-derived classes can specify granularity. This is to make code more efficient by only allocating space for the array in certain size chunks. It is effective, but some thought needs to go into the choice of granularity. If an array is needed for typically 5 to 8 objects, then a granularity of 4 or 5 is sensible. If the array always contains 15 objects, then the granularity should be 15. However, if there are typically 2 or 3 objects, having a granularity of 100 would be silly. Similarly, if there are typically 101 to 105 objects, a granularity of 100 would be silly, as it would mean that 200 spaces are always allocated. However a granularity of 1 would also be silly, as it would involve many reallocations. The final choice depends on the usage pattern.