text: Title: [ENH] Proposal: Enforce automagic column name conversion to string type in `clean_names`
  Body: UPDATE FROM MAINTAINERS: ANYBODY WHO IS INTERESTED IN THIS ISSUE, PLEASE SEE [THIS COMMENT](https://github.com/ericmjl/pyjanitor/issues/612#issuecomment-557250963) FOR PROPOSED CODE.
  
  ------
  
  # Brief Description
  
  `clean_names` method does not work when an integer is used as column name 
  
  # Minimally Reproducible Code
  
  
  ```
  rankings = {
      "countries_to_play_cricket": [
          "India",
          "South Africa",
          "England",
          "New Zealand",
          "Australia",
      ],
      0: ["England", "India", "New Zealand", "South Africa", "Pakistan"],
      "t20": ["Pakistan", "India", "Australia", "England", "New Zealand"],
  }
  
  rankings_pd = pd.DataFrame(rankings)
  
  df = rankings_pd.clean_names()
  ```
  
  # Error Messages
  
  ```
  AttributeError: 'int' object has no attribute 'lower'
  ```
  
  If I change the column name integer 0 to string "0" then there will be no error. But in that case it defeats the purpose of using a method :)