ENH: union_categorical supports identical categories with ordered
- [x] related to #13410, #13524
- [x] tests added / passed
- [x] passes `git diff upstream/master | flake8 --diff`
- [x] whatsnew not needed

`.append / concat` can handle ordered `Categorical` which has the identical categories. However, `union_categorical` raises `TypeError`. This PR allows `union_categorical` to handle the case.

**on current mastser**

```
s1 = pd.Series(pd.Categorical([1, 2, 3], ordered=True))
s2 = pd.Series(pd.Categorical([3, 2, 1], categories=[1, 2, 3], ordered=True))
s1.append(s2)

#0    1
#1    2
#2    3
#0    3
#1    2
#2    1
# dtype: category
# Categories (3, int64): [1 < 2 < 3]

pd.types.concat.union_categoricals([s1.values, s2.values])
# TypeError: Can only combine unordered Categoricals
```

CC: @janschulz, @chris-b1

## [Current coverage](https://codecov.io/gh/pydata/pandas/pull/13763?src=pr) is 85.33% (diff: 100%)

> Merging [#13763](https://codecov.io/gh/pydata/pandas/pull/13763?src=pr) into [master](https://codecov.io/gh/pydata/pandas/branch/master?src=pr) will increase coverage by **<.01%**

``` diff
@@             master     #13763   diff @@
==========================================
  Files           141        141          
  Lines         50703      50717    +14   
  Methods           0          0          
  Messages          0          0          
  Branches          0          0          
==========================================
+ Hits          43267      43281    +14   
  Misses         7436       7436          
  Partials          0          0          
```

> Powered by [Codecov](https://codecov.io?src=pr). Last update [1367945...9cadc4e](https://codecov.io/gh/pydata/pandas/compare/136794524a8f8954c0b8bf8f0327870d83cbf8d4...9cadc4e84172cd89effa0b02dc188c91d8314110?src=pr)
 Looks good to me, other than a couple nit-picky doc things.
 I created - https://github.com/sinhrks/pandas/pull/1 to also add a `sort_categories` argument, which is needed for https://github.com/pydata/pandas/pull/13406
 In my thinking `union_categorical` is a "unstricter" (and "uncleaner") variant of the normal categorical handling: where the usual cat handling errors, this should "bend the rules" and succeed. Following this, I thinking `union_categorical` should handle whatever `append` can take...
 @chris-b1 , @janschulz any final comments?
 No, looks good to me.

On Jul 28, 2016 7:32 PM, "Jeff Reback" notifications@github.com wrote:

> @chris-b1 https://github.com/chris-b1 , @janschulz
> https://github.com/janschulz any final comments?
> 
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> https://github.com/pydata/pandas/pull/13763#issuecomment-236064325, or mute
> the thread
> https://github.com/notifications/unsubscribe-auth/AB1b_FOSzzp-Gnvwk0SvEXA7FwPCj4fkks5qaUolgaJpZM4JTSrP
> .
 LGTM
 ty sir!
