Use empty struct for daemon signalling channel

Channels that are being used purely for signalling should use an
empty struct rather than boolean or int types.
    
Using an empty struct declares that we're not interested in the value
sent or received; only in its closed property.
    
See http://talks.golang.org/2012/10things.slide#11

It also does not need to be global.