PERF: StataWriter is slow

StataWriter wrote data using scalar operations.  This has been replaced using
numpy's internal binary writer (tofile).

Changes needed to improve performance include:

* Vectorized pandas date to Stata date conversion
* Vectorized null padding
* Conversion to record array

When data contain strings, the old writing paths are still used.
are you expecting this to be triggered by a series-like or ndarray? a Series will always be ``object`` dtype and won't ever hit this. Instead if its object you can infer the dtype (which will return string/unicode). Not entirely cheap but I think you need to; you may be able to get away with just ``max_len_string_array`` though (and just catch an exception) as if its all strings it will work.