Enhancement and cleanup of the bind_dn option.

This replaces an older [Gitorious pull request](https://gitorious.org/mumble-scripts/mumble-scripts/merge_requests/8) and addresses the points raised by Stefan.  No need to try to copy the old pull request over.

- Introduced the `reject_on_miss` option.  Default is true.  When set to false, returns a fall-through when the ID is not found in LDAP.

- Kept the test for empty passwords, but made it a precondition for each user bind.  This avoids unintended conversion of a bind to anonymous authentication when server supports it.

- Explicitly issued the unbind in all failure cases.  This is cleaned up when the object is destroyed, but early and explicit connections closure is good, defensive practice.

- Split apart the try/except blocks as suggested.

- Added to the heading comment block.