Silence compiler warnings about array subscripts of type 'char'

Cygwin GCC complains about code like isprint(c), where c is of type char.
The isX() and toX() functions/macros (ISO C allows either) all accept an
int, whose value should be either that of an unsigned char, or the
special value EOF (== -1).
So cast to unsigned char each argument to isprint, tolower, etc.

Silences several warnings of the form:

gpsutils.c: In function 'safe_atof':
gpsutils.c:90:5: warning: array subscript has type 'char'
[-Wchar-subscripts]
      while (isspace(*p)) {
      ^
gpsutils.c:188:2: warning: array subscript has type 'char'
[-Wchar-subscripts]
   while (isdigit(*p)) {
   ^
Coverity caught a subtle bug in bits.c::shift_left().
Magic-number elimination.
Use a standard name for a magic number. All regression tests pass.
More magic-number elimination.
Magic-number elimination.  All regression tests pass.
Merge branch 'master' of http://git.savannah.gnu.org/r/gpsd into bbb