MemberSearch cleanup and polish

As a follow up to #64, this renames `GitHub::Ldap::Members` *member search* strategy to `GitHub::Ldap::MemberSearch` and aims to finish up any significant missing pieces:

- [x] configuration
- [x] Active Directory strategy (followup?)
- [x] detect strategy

cc @jch 

This case statement digs into the implementation of the other strategies too much. One indicator is the `active_directory_capability?`, making this class also know about AD. Spitballing here, but I'd like to see something like:

```ruby
def detect_strategy
  # try to use the most efficient strategy first
  [ActiveDirectory, Recursive, Classic].detect do |strategy|
    strategy.handles?(ldap.capabilities)  # strategy is responsible for capability detection
  end
end
```

`LDAP#configure_member_search_strategy` would be responsible for handling when a user sets an explicit strategy, but default to Detect to handle all other cases:

```ruby
def configure_member_search_strategy(strategy = nil)
    GitHub::Ldap::MemberSearch::STRATEGIES[strategy] || GitHub::Ldap::MemberSearch::Detect
end
```