Remove include Enumerable from ActiveLdap::Base

Since e7f6ab87dccd427d24f7430c826fca15734533ad there has been no ``#each`` method to power Enumerable and so it's now a redundant include.
examples: ensure base tree
Fix a bug that base DN is used as bind DN in URL

Bind DN is extracted from bindname extension in URL such as
"ldap://host/dc=base,dc=name????bindname=cn%3Dadmin%2Cdc%3Dexample%2Cdc%3Dcom%3F"
Support ou in base DN
Merge pull request #104 from unboxed/no-more-enumerable

Remove include Enumerable from ActiveLdap::Base

Patch by Murray Steele. Thanks!!!
Use item per line style
Support follow_referrals option

ruby-ldap adapter only supports it.

It is needed to authenticate against Active Directory. Active Directory
returns search response with additional references but normally (?)
ActiveLdap can't access these references with bind DN.

GitHub: fix #99

Suggested by hadmut. Thanks!!!
Untabify
test: compare by string
Guard from no value extension
Add 4.0.4 entry
Bump version
Follow new Packnga API
doc ja: resolve some fuzzy
Support unicodePwd in Active Directory

GitHub: fix #105

Reported by Laas Toom. Thanks!!!
Correct rails generate group documentation

If you generate model Group rather than active_ldap:model Group you don't get
the correct app/model/group.rb created
Merge pull request #107 from ashak/master

Correct rails generate group documentation

Patch by Gary Richards. Thanks!!!
Remove trailing spaces
Fix extract_salt_for_crypt when encryption methods other than MD5 are used

- Change the regex match so that it matches specific detail mentioned in the
  crypt(3) man page

  The crypt(3) man page suggests that:
    If salt is a character string starting with the characters
   "$id$" followed by a string terminated by "$":
      $id$salt$encrypted
    then instead of using the DES machine, id identifies the
    encryption method used and this then determines how the rest
    of the password string is interpreted.  The following values
    of id are supported:

    ID  | Method
    ─────────────────────────────────────────────────────────
    1   | MD5
    2a  | Blowfish (not in mainline glibc; added in some
        | Linux distributions)
    5   | SHA-256 (since glibc 2.7)
    6   | SHA-512 (since glibc 2.7)

    The characters in "salt" and "encrypted" are drawn from the
    set [a-zA-Z0-9./].

  MD5 worked with the original code, but none of the other mechanisms had the
  full salt returned

- The part of the regex that matches the salt is up to 16 characters, again
  as mentioned in the crypt(3) man page:

  The crypt(3) man page suggests that:
     "salt" stands for the up to 16 characters following "$id$" in
     the salt.  The encrypted part of the password string is the
     actual computed password.

- Updated the test for a salt simply containing $1$
  I believe the original test that this extracted salt should be $1$$ is
  incorrect and was only that way due to how the original code worked

- Added some extra tests to ensure that the new encryption methods return
  the extracted salt expected.
Merge pull request #108 from ashak/master

Fix extract_salt_for_crypt when encryption methods other than MD5 are used

Patch by Gary Richards. Thanks!!!