ENH: auto-type detect data loader

Created a function to auto-detect data types for each column in a csv-style data file. Works with arbitrary separators between the data and loads the data into a numpy record array.

This is an implementation of an idea of Mark Wiebe's for how to make a function to load data from a text file into a numpy record array by automatically testing the types. It also handles missing data, placing it into masked arrays. (A future update of this can add support for the NA feature.) It also handles dates. 

The need this function fills is for users that want to be able to load their data quickly from a text file when the data contains missing values and is not homogenous. In this case a numpy record array seems like the most natural choice for the base package (though for more domain specific uses other data structures, such as in pandas, might be more appropriate). Unfortunately the current numpy functions for such reading of data are rather cumbersome. This function is much less cumbersome and includes sensible defaults. It is similar to matplotlib.mlab's csv2rec. This function isn't blazingly fast, and there's lots of potential avenues for improvement. However, it is perfectly usable for non-humongous datasets. For example, it loaded a fairly messy file of 2800 lines and 30 columns in about 1.3s, and the algorithm should scale linearly with the size of the input. 

For the power-user, it's fairly simple to add support for additional types, such as more elaborate datetimes. 

This also has a modest test suite to check functionality.