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.
Merge pull request #4955 from alefnula/iss4488

ENH: Added colspecs detection to read_fwf
API: provide __dir__ method (and local context) for tab completion / remove ipython completers code