This is a D2667 prep. I have a few further commits upstream at https://github.com/wraitii/0ad/tree/30PlayerLimit.
Range manager has several std::vector for fixed-size arrays and 2D grids. By using proper data structures, the code readability is improved.
This also moves around the LosVisibility enum.
Under the "if it ain't broken, don't fix it" mantra, this is a rather suspect change, however the readability improvement is rather high to me. Further, Grid effectively behaves like a vector right now, so this should be completely transparent on the performance side.
Profiling showed no significant difference with SVN.