Handle numpy.matmul in DataFrame.__array_ufunc__
#### Code Sample

```python
import pandas as pd
import numpy as np

d = {'col1': [0.0037448, -0.002455324, 0.003062666, 0.000768503, 0.002309015]}
df = pd.DataFrame(data=d)
dfT = df.T

np.matmul(dfT, df)


```
#### Problem description

Issue originally raised here: https://github.com/numpy/numpy/issues/13712. In version 1.16 of NumPy ```np.matmul``` was implemented as a ufunc which caused compatibility issues with pandas. I get an error when trying to use ```np.matmul``` with single dimension pandas DataFrames. In the linked issue someone suggested that ```DataFrame.__array_ufunc__``` needs to handle ```numpy.matmul```.

Here is the error message I receive when running the sample code:
```
Traceback (most recent call last):
  File "MatmulBugTest.py", line 8, in <module>
    np.matmul(dfT, df)
  File "C:\Users\bryant_n\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\generic.py", line 1909, in __array_wrap__
    return self._constructor(result, **d).__finalize__(self)
  File "C:\Users\bryant_n\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\frame.py", line 424, in __init__
    copy=copy)
  File "C:\Users\bryant_n\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\internals\construction.py", line 167, in init_ndarray
    return create_block_manager_from_blocks([values], [columns, index])
  File "C:\Users\bryant_n\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\internals\managers.py", line 1660, in create_block_manager_from_blocks
    construction_error(tot_items, blocks[0].shape[1:], axes, e)
  File "C:\Users\bryant_n\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\internals\managers.py", line 1691, in construction_error
    passed, implied))
ValueError: Shape of passed values is (1, 1), indices imply (1, 5)
```

#### Expected Output
Expected output of sample code is ```array([[3.53542131e-05]])```.

#### Output of ``pd.show_versions()``

<details>
INSTALLED VERSIONS
------------------
commit: None
python: 3.7.0.final.0
python-bits: 64
OS: Windows
OS-release: 10
machine: AMD64
processor: Intel64 Family 6 Model 158 Stepping 10, GenuineIntel
byteorder: little
LC_ALL: None
LANG: None
LOCALE: None.None

pandas: 0.24.2
pytest: 3.8.0
pip: 19.1
setuptools: 40.2.0
Cython: 0.28.5
numpy: 1.16.3
scipy: 1.1.0
pyarrow: None
xarray: None
IPython: 6.5.0
sphinx: 1.7.9
patsy: 0.5.0
dateutil: 2.7.3
pytz: 2018.5
blosc: None
bottleneck: 1.2.1
tables: 3.4.4
numexpr: 2.6.8
feather: None
matplotlib: 2.2.3
openpyxl: 2.5.6
xlrd: 1.1.0
xlwt: 1.3.0
xlsxwriter: 1.1.0
lxml.etree: 4.2.5
bs4: 4.6.3
html5lib: 1.0.1
sqlalchemy: 1.2.11
pymysql: None
psycopg2: None
jinja2: 2.10
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None
gcsfs: None
</details>
