BUG: Fixed incorrect string length calculation when writing strings to Stata

Strings were incorrectly written using 244 character irrespective of the actual
length of the underlying due to changes in pandas where the underlying NumPy
datatype of strings is always np.object_, and never np.string_. Closes #7858

String types were also not being checked for excessive length, and DataFrames
with strings containing more then 244 characters were producing invalid
dta files.  Attempting to write long strings raises an error now.