Added 'prescan' option to loadtxt for array allocation prior to reading

ENH: implement 2-pass reading in loadtxt to avoid problems with 
excessive memory usage on large data files. The extra parsing 
typically takes 10% of the total read-in time; 30-50% for compressed 
files.

Setting 'prescan=True' will parse the valid data lines of the input
file in a first pass, then allocate an array to read the data directly
into (row by row), bypassing the creation of an input list with the
associated high memory usage.