implement search timeout
add timelimit to instrumentation
document the default
Merge remote-tracking branch 'ruby-ldap/master' into search-timeout

Conflicts:
	lib/net/ldap.rb
Test Net::LDAP#open behavior
Add failing test for Net::LDAP#open with nested queries

The nested query should match "user2", but with Net::LDAP#open, we see:

  <"user3"> expected but was <"user2">.

And likewise with the outer search:

  <["user1", "user2"]> expected but was <["user1", "user3"]>.

What's happening is that the nested query is being sent after the server
has already sent more data to be read for the outer search, so when the
inner search reads, it gets that result. And when it comes time for the
outer search to handle the second results, it gets reads the next result
off the wire, the result of the inner search.

I was also able to get an infinite loop just by *always* performing an
inner search instead of only searching on the first result.
Merge remote-tracking branch 'origin/master' into search-timeout
test search timeout parameter

@mtodd is this a stupid test? The logic in Connection#search handles both
writing the request and reading the response, making it really difficult to stub
out.
fix whitespace
Merge branch 'master' into open-integration-tests
Accept message_id as param to write
Pull queued messages first, queue messages unless ID matches
Include message ID in event payload
Fix message_id in test
Extract queued_read(message_id) method
Extract message_queue accessor, documentation, cleanup
Clear search's message queue, instrument unread messages

Shouldn't have unread messages but provide a way to measure it anyway.
Cleanup Net::LDAP::Connection#search arg handling
Skip fixture add if exists

This can happen if a failure prevents this from being cleaned
up properly in the last run.
Include required search base, fix test DN