writing one compressed image forces subsequent ones to be compressed
Writing a compressed image to an open FITS file causes all subsequent images to be compressed.  If the images are written individually using `fitsio.write` then the expected behavior works where individual images are compressed only if requested.  Example:
```python
import numpy as np
import fitsio

x = np.random.uniform(0,1,size=(5,8))

with fitsio.FITS('blat.fits', mode='rw', clobber=True) as fx:
    fx.write(x, extname='A')
    fx.write(x, extname='B', compress='gzip')
    fx.write(x, extname='C', compress=None)  #- OOPS: will be compressed too   

fitsio.write('foo.fits', x, extname='A', clobber=True)
fitsio.write('foo.fits', x, extname='B', compress='gzip')
fitsio.write('foo.fits', x, extname='C', compress=None) #- Correctly will not be compressed

for filename in ['blat.fits', 'foo.fits']:
    print('Reading {}'.format(filename))
    fx = fitsio.FITS(filename)
    for hdu in fx:
        print('  {:8s} {}'.format(hdu.get_extname(), hdu.is_compressed()))
```

Produces:
```
Reading blat.fits
  A        False
  B        True
  C        True
Reading foo.fits
  A        False
  B        True
  C        False
```
I was expecting HDU C of blat.fits to be uncompressed, just like HDU C of foo.fits.

diff --git a/fitsio/fitsio_pywrap.c b/fitsio/fitsio_pywrap.c
index d732abb..e2c1068 100644
--- a/fitsio/fitsio_pywrap.c
+++ b/fitsio/fitsio_pywrap.c
@@ -1347,7 +1347,8 @@ PyFITSObject_create_image_hdu(struct PyFITSObject* self, PyObject* args, PyObjec
         }
 
         // 0 means NOCOMPRESS but that wasn't defined in the bundled version of cfitsio
-        if (comptype >= 0) {
+        // if (comptype >= 0) {
+        if (comptype > 0) {
             // exception strings are set internally
             if (set_compression(self->fits, comptype, tile_dims_obj, &status)) {
                 goto create_image_hdu_cleanup;
diff --git a/fitsio/fitslib.py b/fitsio/fitslib.py
index 6686d5d..f47c8fa 100644
--- a/fitsio/fitslib.py
+++ b/fitsio/fitslib.py
@@ -466,8 +466,8 @@ class FITS(object):
         if self.mode in [READWRITE, 'rw']:
             if clobber:
                 create = 1
-                if os.path.exists(filename):
-                    os.remove(filename)
+                if filename[0] != '!':
+                    filename = '!' + filename
             else:
                 if os.path.exists(filename):
                     create = 0
['fitsio/fitslib.py', 'fitsio/fitsio_pywrap.c']