ENH: Added automatic colspecs detection to read_fwf (GH4488)

Implemented an algorithm that uses a bitmask to detect the gaps between the columns.
The reader buffers the lines used for detection in case the input stream is not seekable.