New storage strategy with run-time bound on number of subdomains

These patches add a new storage strategy through DynamicSubDomainCountTraits and are closely based on ArrayBasedTraits.