Fixed ReadBVecs so that it will be more robust

The original reader did not check columns/rows first, so this version
checks the number of rows and columns and fails if the BVecs input
does not have 3 rows or 3 columns, and the dimension of size 3 is
taken to be the vector dimension
ReadBVecs reordered so the default is three columns