Commit demonstrates race condition-like behavior after tests execute.

For a good demonstration of this, do:

cabal configure --enable-tests
cabal build tests
./dist/build/tests/tests -a 1 -t atomic/list

The -a parameter sets the number of iterations to 1 and the -t parameter
selects a subset of tests that will only do a small amount of work on the
database.

There are a few tracing statements in choice locations to demonstrate where
the problem lies and how it occurs after invoking hyperdex_search. The result
of calling it too soon after creating a hyperclient is a negative handle, which
per the spec indicates the status pointer should be set. The value then is either
HYPERCLIENT_POLLFAILED or HYPERCLIENT_INTERRUPTED.

This problem is not isolated to hyperdex_search, but this is the first time
I've seen the issue reoccur with such frequency. The threadDelays in the
preamble function of test/main.hs were originally implemented to prevent
this problem, but it appears that even so, after connecting the client on
line 53 of test/main.hs and adding a 250ms delay, the negative handle is still
often returned by the call to hyperclient_search.

In a test of 1000 runs without the delay using "-a 1 -t atomic/int", the results
were:

661 successes (termination with HYPERCLIENT_SEARCHDONE)
339 failures, negative handles returned immediately by hyperclient_search
  300 - HYPERCLIENT_POLLFAILED
  39  - HYPERCLIENT_INTERRUPTED
Demonstrate successful searches when using a warm client.

In this test, as opposed to the previous commit, the hyperdex_search
call is run using a warm client from a pool of clients previously used
for other tests. The testSearch test is the last one executed, and the
success of these tests can be demonstrated by running:

for I in {1..1000}; do ./dist/build/tests/tests -a 1 -t atomic >> ./testresults; done

Searching the output for HyperclientInterrupted or HyperclientPollfailed - the
Haskell names for each return code previously reported - yields no results.
Add search "test" to the end of main.
On *nix systems, use Posix API to block signals during search
Filter out empty values for more compact test output of hyperclient_search
Block GHC runtime signals in hyperclient call, retry interrupted