BUG/API: Index.append with mixed object/Categorical indices
Closes #14298, related to #13660 and #13767

This closes the `info()` issue with CategoricalIndex, but the underlying issue is actually related to Index.append, when appending mixed dtype index objects: 

```
In [11]: pd.Index(['a']).append(pd.CategoricalIndex(['a', 'b']))
...
AttributeError: 'Index' object has no attribute '_is_dtype_compat'
```

This error occurs when the calling index is not a Categorical (because of https://github.com/pandas-dev/pandas/blob/v0.19.0/pandas/indexes/base.py#L1439 the Categorical `_is_dtype_compat` method is used anyway).

But the question is, what should the result be of the above expression?

- a `CategoricalIndex` ? -> IMO not, as the calling index is not a CategoricalIndex, the result should also not be one (regardless of what is appended) -> so the intention of the code is IMO also not correct
- an object Index ? -> yes, this is also what 0.18.1 does

But, the more important discussion is *what to do when the calling index is a CategoricalIndex* ? In 0.18 (and in 0.19.0) this either returned a CategoricalIndex or raised an error:

```
In [13]: pd.__version__
Out[13]: u'0.18.1'

In [104]: pd.CategoricalIndex(['a', 'b']).append(pd.Index(['a']))
Out[104]: CategoricalIndex([u'a', u'b', u'a'], categories=[u'a', u'b'], ordered=False, dtype='category')

In [105]: pd.CategoricalIndex(['a', 'b']).append(pd.Index(['c']))
...
TypeError: cannot append a non-category item to a CategoricalIndex
```

But, for the `concat` case we decided to return an object dtyped Index in those cases instead of coercing or raising (see discussion in #13767 and the summary table with rules in https://github.com/pandas-dev/pandas/pull/13767#issuecomment-237806603). So the question is, do think that `append` should follow the same rules as `concat`. Or, do we want to be more flexible for `append`, and let it depend on the type of the calling Index?


cc @sinhrks 
