test: Build test cases with their respective c++ files

The current build situation places the test wrappers and logs into the
top level test directory. We can actually build and run these binaries
ink the subdirectories containing the test sources. Do this.

Tested:
    Run through the unit test suite and all test still show up and pass.

Change-Id: Ia5c9957242ae4df88dca6433682dc66bbbc3d684
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/.gitignore b/.gitignore
index e7fd756..4d40130 100644
--- a/.gitignore
+++ b/.gitignore
@@ -46,11 +46,11 @@
 /test/clock
 /test/event
 /test/exception
-/test/internal_sdref
-/test/internal_utils
-/test/source_base
-/test/source_child
-/test/source_event
-/test/source_io
-/test/source_signal
-/test/source_time
+/test/internal/sdref
+/test/internal/utils
+/test/source/base
+/test/source/child
+/test/source/event
+/test/source/io
+/test/source/signal
+/test/source/time