Add support for logging (cry) to a FD (now default).
Rename cry to _cry (it's something internal anyway).
Move all gloabls to top of the module

We have too many globals, and they are speard all over the module,
making it hard to see the whole picture. Now they are all in the top of
the module.

Some gloabls were defined using "a = b = ... = None" syntax.  This
syntax is hard to read, so these globals are defined now one global per
line.
Remove bogus global.
Make ALL_SIGNALS immutable

ALL_SIGNALS is passed to install() as default value, and may be modified
later by the called functions. This may change the value of the gloabl,
which will change the behavior on the next install() call. Currnetly
this code is safe becuase intall() can be called only once, but once we
introduce uninstall(), this code is not safe anymore.

Now we use a tuple to make sure that the gloabl cannot be changed, and
bad code that try to change will fail loudly.