Changed the semantics of Aligned<T> to not guarantee that T will be alone on the aligned memory block of size alignment. Aligned<T[]> still guarantees that inherently as an array. CacheAligned<T> is to be used to when the guarantee of being alone on that aligned memory block is needed. CacheAligned classes also automatically determine the cache line size at run-time.