BUG: GH9428 promote string dtype to object dtype for empty DataFrame
Addresses [GH9428](https://github.com/pydata/pandas/issues/9428).

When constructing an empty DataFrame with a string dtype (e.g. `str`, `np.unicode_`, `U5`), the dtype is now promoted to the `object` dtype. This is now consistent with Series and avoids the confusing behaviour described in the original issue.
