#417 Fix some errors in galsim.fits.write* functions and documentation

David noticed a couple errors in the fits module, which I think I have fixed
- Some docs referred to a `fits` parameter which doesn't exist anymore.  I changed this to either `hdu_list` or `file_name` as appropriate, the two parameters into which we change `fits`.
- Functions write_file, read_file, and others should have had a leading underscore to indicate that they are not for use by the end user.
- I fixed some places where `if hdu_list` was failing for an empty `HDUList()`.  Now these read as `if hdu_list is not None`.
- I also added a new function `writeFile`, which can write out an `hdu_list` to a file if the user has used the `hdu_list` option of the `write` function.  The main advantage to using this rather than the `hdu_list.writeto(file_name)` method is that it takes a `compression` argument, which is parsed in the same way as the other `galsim.fits.write*` functions.