signal: Add idempotent block function

This makes it trivial to block individual signals from being handled by
a thread. Useful when tryng to set up signal handling in event loops.

Tested:
    Builds and passes unit tests.

Change-Id: I61739debe2a47ec0ec3e767cf138125c6f59165f
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/test/Makefile.am b/test/Makefile.am
index c67e07a..1c4a5a1 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -7,7 +7,7 @@
 check_PROGRAMS =
 TESTS = $(check_PROGRAMS)
 
-check_PROGRAMS += placeholder
-placeholder_SOURCES = placeholder.cpp
-placeholder_CPPFLAGS = $(gtest_cppflags)
-placeholder_LDADD = $(gtest_ldadd)
+check_PROGRAMS += signal
+signal_SOURCES = signal.cpp
+signal_CPPFLAGS = $(gtest_cppflags)
+signal_LDADD = $(gtest_ldadd)