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')
```
If you could make this into a try/finally block like

```
try:
    self._report()
finally:
    if filepath:
        fileobj.close()
```

that would be best.