Redesigned C++ constructors and set up doc norm cache.
Updated all functions to use class variables.
Previously, functions passed pointers everywhere.
Cached document norms for better performance.
Approx 15% speed up on single-thread k=4.
Added new flag: --noop to disable optimizations for testing.
Currently, --noop disables doc norm caching.