Custom Array Types Dropped on pd.Merge
#### Code Sample, a copy-pastable example if possible

I have written a custom dtype and array for my own API. 

When I do a `pd.merge`, the type reverts back to `object` not `geometry` .

In cyberpandas, I do not see the same behavior.  What needs to be set to accomplish this?

```python
from cyberpandas import IPArray

import pandas as pd

arr = IPArray(['192.168.1.1',
               '2001:0db8:85a3:0000:0000:8a2e:0370:7334'])
ser = pd.Series(arr)
data = {'idarray': ser,
'OBJECTID' : [1,2] }

dfother = pd.DataFrame({'OBJECTID' : [1,2], 'CLASS': ['a', 'b']})

df = pd.DataFrame(data)
pd.merge(df, dfother).dtypes


```

