Whitespace cleanup
Unified parameter name caches

 1. One instance attribute to store all the caches
 2. Use SortedSet to improve lookups and preserve sort
 3. Invalidate/update caches on delete/insert parameter
Cache optimisations

 1. Avoid I/O related to attributes access: cache attrs object in a
    variable
 2. Option to avoid copying of the cached parameters: if the consumer
    can assure the parameter will not be changed in cache
 3. Variable name iprovements
 4. Don't use cache if slices are in use (TODO: cache complete
    parameters and slice their copies)