Add FITSImageTest.mkfits() class method
Add FITSImageTest.random() class method
Add unit test for FITSImage.read_keyword()
Use datetime.strptime() instead of time.strptime()

I have just noticed that the time.gmtime() function, which converts a
time expressed in seconds since the epoch to a struct_time in UTC,
ignores fractions of a second. Although the Python documentation does
not mention why, the reason is that struct_time does not store these
fractions: tm_sec is defined as an integer in the range [0, 61].

As pointed out by a Stack Overflow user [1], we can use a datetime
object, which since version 2.6 supports a %f format code that expands
to the number of microseconds. We still have to use a struct_time, as
input to datetime.utctimetuple(), but the method datetime.strftime()
now allows us to easily extract the fraction and add it to the time
expressed in seconds.

[1] http://stackoverflow.com/a/7000121/184363
FITSImage.date(): accept all the formats defined in the FITS Standard

The FITS Standard defines two date formats: the old one, 'yy/mm/dd',
(deprecated, may be used only for dates from 1900 through 1999) and
the new Y2K-compliant one: 'yyyy-mm-dd[THH:MM:SS[.sss]]'. However,
our code has until now supported exclusively the latter format, and
only in its form 'yyyy-mm-ddTHH:MM:SS[.sss]'.

Improve FITSImage.date() so that it accepts and parses correctly all
the formats defined in the standard. The most noticeable change is
that the method now receives a third keyword argument, 'time_keyword',
the name of the FITS keyword (almost always, TIME-OBS) from which the
time at the start of the observation is read when it is not included
directly as part of the value of the 'date_keyword' keyword (that is,
DATE-OBS). In other words: if the format of the date is 'yy/mm/dd' or
'yyyy-mm-dd', the time must be in the 'time_keyword' keyword, with
the format 'HH:MM:SS[.sss]'.
Add unit test for FITSImage.date()
Add 'time_keyword' to the signature of FITSet.date_sort()

The FITSet.date_sort() method needs to take the same three keyword
arguments as FITSImage.date(), since the latter must be called for
each of the FITSImage objects being sorted chronologically.
Add the --timek option

The three LEMON commands that use the date of the observation of the
FITS images ('import', 'astrometry' and 'offsets') need a new option,
--timek (default: TIME-OBS), to specify the FITS keyword that contains
the time at the start of the observation (see commit 30f99e69d72f816c).
This keyword is needed if the time is not included directly as part of
the --datek keyword value with the format 'yyyy-mm-ddThh:mm:ss[.sss]'.

Note that the 'astrometry' command does not call the FITSImage.date()
method, but it needs --datek and --timek in order to propagate them,
among several other FITS keywords, from the input FITS image to the
astrometrically-calibrated output one.
Fix grammar error — use the possessive form of which
Improve docstring of FITSImage.unlink()
Add unit test for FITSImage.unlink()