BUG: DataFrame.to_string ignores col_space when header=False

Fixes #8230. I think this is a pretty easy fix, `col_space` wasn't being used at all when `header` was `False` so just had to add the minimum width. 

Results:

```python
import pandas as pd
df = pd.DataFrame([[0,1,2]], index=['Sum'], columns=['A','B','C'])

print(df.to_string(col_space=20))
# Output:
                       A                    B                    C
Sum                    0                    1                    2


print(df.to_string(col_space=20, header=False))
# Output:
Sum                    0                    1                    2
```