Table IMAGES: allow FILTER_ID, UNIX_TIME, AIRMASS and GAIN to be NULL
Add '_is_sources_img' keyword argument to LEMONdB.add_image()
Update docstring of LEMONdB.add_image()
Update LEMONdB.simage()

The method now uses the '_is_sources_img' keyword argument to store
the sources image in the IMAGES table with SOURCES == 1. Unlike the
previous version, LEMONdB.simage() raises DuplicateImageError if an
image with the same Unix time and photometric filter already exists
in the database.
Rollback the transaction regardless of what exception is raised
Raise DuplicateImageError when appropriate
Add a trigger to make sure there is only one sources image

LEMONdB.add_image() overrides the previous (if any) sources image when
'_is_sources_img' is True, but we'd rather err on the side of caution.
Add a trigger so that sqlite3.IntegrityError is raised if at any point
there is more than one row in the IMAGES table with SOURCES == 1.
Allow NULL column values only for the sources image

Add a trigger to raise sqlite3.IntegrityError if any of the FILTER_ID,
UNIX_TIME, AIRMASS or GAIN columns are NULL for 'normal' images (those
on which we do photometry, i.e., SOURCES == 0). These columns are only
optional for the sources image. This is because astronomical sources
may be detected on a mosaic generated with the IPAC's Montage toolkit
and, in those cases, we may be combining multiple photometric filters,
dates of observation, airmasses and gains. Note that the OBJECT column
may always be NULL, regardless of the value of SOURCES.
Manually raise sqlite3.IntegrityError if FILTER_ID is NULL
Store the photometric filter in the LEMONdB only if it is not None
Update docstring of LEMONdB.add_image()
Make DuplicateImageError inherit from sqlite3.IntegrityError
Make DuplicateStarError inherit from sqlite3.IntegrityError
Replace ternary operator with int(bool)
_add_pfilter(): raise ValueError if filter is not a Passband object
Make nested function tables_status() a class method — and rename it
Update LEMONdBTest.test_simage_and_mosaic()
Add LEMONdBTest.test_add_and_get_image_None_fields()
Merge branch 'allow-NULL-values-in-IMAGES-table' into allow-missing-keywords-in-sources-img
Add func_catchall()