BUG: Error in to_stata when DataFrame contains non-string column names

to_stata does not work correctly when used with non-string names.  Since
Stata requires string names, the proposed fix attempts to rename columns using
the string representation of the column name used.  The main method that
reformats column names was refactored to handle this case.

Patch includes additional fixes for detecting invalid names.

Patch includes some minor documentation fixes.