Bug fixes to 0.9.0

Hey, I just fixed up a couple of the little issues I had when I tried to use your gem out-of-the-box. For what it's worth, it's entirely possible that I only encountered the nil-checking bug because one of my co-workers was messing around with our LDAP server while I was composing and testing my search query, it might not be a problem when working with an operational server.

Implemented a couple of bug fixes:
  * Connection#search now does more graceful nil-checking in its ensure clause, reducing cryptic crash messages
  * Filter class methods should now be able to gracefully accept numeric literals as filter rhs values
Were you able to reproduce this problem reliably? Would love to add a test case for this scenario.

Use `||` instead of `or` here.

I tend to only use `unless` in cases with single conditions and switch to the more explicitly but easier to reason about `if` conditions otherwise. This would be:

``` ruby
if !messages.nil? && !messages.empty?
```

This is probably fine, though, since it's still a very simple case.