Move all column mapping related reflection code to a single class

The column mapping code is scattered across various class and methods (especially calls to `GetCustomAttributes`).

The pull request moves this code to a single, cached class.