text: Title: [BUG] Coalesce returns a Series, instead of a dataframe
  Body: # Brief Description
  
  the [coalesce](https://pyjanitor.readthedocs.io/reference/janitor.functions/janitor.coalesce.html) function returns a Series, instead of a dataframe. Also, it may be more performant to use `bfill`, `ffill`, compared to the combination of `functools.reduce` and `combine_first`. Also, it would be nice to have a default value, in the event that there are still null values.
  
  # System Information
  
  - Operating system: /Linux/  
  - Python version (required): 3.9
  
  # Minimally Reproducible Code
  
  ```python
  df=pd.DataFrame({'s1':[np.nan,np.nan,6,9,9],'s2':[np.nan,8,7,9,9]})
  
      s1   s2
  0  NaN  NaN
  1  NaN  8.0
  2  6.0  7.0
  3  9.0  9.0
  4  9.0  9.0
  
  df.coalesce(['s1', 's2'],'col3') # returns a Series, instead of assigning to the dataframe.
  
     col3
  0   NaN
  1   8.0
  2   6.0
  3   9.0
  4   9.0
  
  ```
  
  