Instrument network calls

This PR works to add hooks for instrumentation/logging around network calls.

This specific implementation works well with [`ActiveSupport::Notifications`](http://api.rubyonrails.org/classes/ActiveSupport/Notifications.html) but does not depend on it, only on an object that responds to `instrument(event_name, payload, &block)` (like the `MockInstrumentationService` for the tests).

This wraps the new private methods `Net::LDAP::Connection#read` and `Net::LDAP::Connection#write`.

Thoughts?

Based on the implementation here: https://github.com/jch/html-pipeline/pull/45 and https://github.com/jch/html-pipeline/blob/3015de761378409e51d39d0123400e67cbf1a9b8/lib/html/pipeline.rb#L153-L163.

Originally built from: http://api.rubyonrails.org/classes/ActiveSupport/Notifications.html and http://apidock.com/rails/v4.0.2/ActiveSupport/Notifications/instrument/class.