Fix a bug that `to_sql` takes the boolean column as text column

In the original code, `com.is_bool(arr_or_dtype)` checks whether `arr_or_dtype` is a boolean value instead of a boolean dtype.

A new function `is_bool_dtype` is added to `pandas.core.common` to fix this bug.