Support file output from FITS diff given path name

A coworker was surprised that the functions in `fits.diff` don't transparently create files from string path names, and instead expect file objects. She pointed out that interactively poking around in data (as opposed to building a pipeline with clean separation of pieces) is a common use case for FITS diffing, and suggested that the `report` method support file path strings as an argument.

With this change,

```python
with open('./myreport.txt', 'w') as f:
    myfitsdiffobject.report(fileobj=f)
```

becomes

```python
myfitsdiffobject.report('./myreport.txt')
```
This will result in an `UnboundLocalError` in any case where `fileobj` was a file-like object.

Note, you can run the tests locally with `./setup.py test --package=io.fits`