topcat: correctly quote table and column names in TAP examples.

Now table and column names which are not syntactically legal ADQL
identifiers are quoted before insertion into example ADQL text.
This was not done before, which was particularly problematic with
TAPVizieR, since all its tables have weird names.
tamfits: fix badly-formed FITS header card bug

If string-valued FITS header cards had a length that was just over the
80 character limit, they could sometimes get output with the final
quote character missing, which made them invalid FITS.  Fix.
ttools: turn off precision squashing in layer plots.

There is a switch that stores cached double-precision column values as
single precision in the plot2 framework.  This was turned on, since
for most purposes the result makes no visible difference and it cuts
the required cache storage size in two.  However, it's dangerous,
and in some cases disastrous (e.g. for CDF EPOCH data, which are
milliseconds since AD0, values now ~6e13, it results in quantising
time values to the order of about an hour).  This is still a promising
optimisation, but if I use it I'll have to make sure that it's safe
to do so for the plot at hand.  This will require some effort.
ttools: ensure that range slider handles don't sit on top of each other.

Fake a small displacement between subrange double slider components
even if the handles are in the same place to avoid zero ranges,
which are unlikely to be useful and were in fact generating uncaught
exceptions in the EDT.
topcat: clear range tabs on plot2 rescale.

Previously (as reported by Nigel Metcalfe) hitting rescale on the plot
didn't clear out the plot axis aspect (Range) tabs, so if they had
been altered from their default settings a rescale wouldn't view
all of the visible data.  Fixed it so that such aspect tabs are now
cleared on a rescale.
topcat: empty array check bug.

Caused uncaught exception when a table in a layer plot was deleted from
the application (reported by Peter Draper).
vo: improve TAP table labelling.

Modify the way table names are identified in the ADQL to generate a
label for loaded TAP tables.  In particular, get it to work better
for VizieR tables, which have names with a lot of funny characters in.
ttools: catch grid line drawing exceptions.

Aaron Rowbotham reported that zooming way out of a sky plot could result
in a NullPointerException, which broke the plot.  This was generated
within GridLiner (class imported from SkyView).  Now just catch and log
any exceptions thrown during grid drawing to limit damage.
ttools/topcat: improve handling of HTTP Basic Authorization.

If the star.basicauth.* system properties have not been set up,
both TOPCAT and STILTS now behave better when encountering an HTTP 401.
STILTS writes a message through the logging system advising on the
star.basicauth.* system properties, and TOPCAT pops up a user/password
dialogue window.