handle/copyable: Implement copyable handle

This is a generic handle type that holds a resource and uses RAII to
call a user defined function when the resource is copied or destroyed.

Tested:
    Built and run through unit tests.

Change-Id: I3d23544b2e7c8d8c6686effc03b3b7433ea18bf5
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/test/Makefile.am b/test/Makefile.am
index 45f54f4..76cd56f 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -7,6 +7,11 @@
 check_PROGRAMS =
 TESTS = $(check_PROGRAMS)
 
+check_PROGRAMS += handle/copyable
+handle_copyable_SOURCES = handle/copyable.cpp
+handle_copyable_CPPFLAGS = $(gtest_cppflags)
+handle_copyable_LDADD = $(gtest_ldadd)
+
 check_PROGRAMS += handle/managed
 handle_managed_SOURCES = handle/managed.cpp
 handle_managed_CPPFLAGS = $(gtest_cppflags)