convert some map<bdflag, T> types to PerFlagArray<T>

Since the number of flags is known at compile time, it is more nicer to
use boost::array<T, #bdflags> than map<bdflag, T>
move sum_of_region_sizes to ReadRegionData class