Fixup railgun utils

Implement DsGetDcNamea to return current domain using example
railgun utils techniques.
Revert ldap
Grab the default domain to improve ldap
Use Class#kind_of? instead of ==
Test the object not the class duhhh
Merge pull request #33 from todb-r7/kind-of-pr2915

Use Class#kind_of? instead of ==
Use LPVOID to avoid ptr trunc
Tidyup logic

ADSI doesn't care about distinguished names or domain and can take
either, but legacy API needs a domain for binding and a dn for
searching.

Send nil if we dont know the domain rather than a ptr to an empty
string.
Move print statement
Always forget debugging stuff
More flexible domain and DN
Remove unnecessary options
Raise error if no domain found or specified
Yarddocs
Docs and more robust code
Land #2915, @Meatballs1 improvements for LDAP post mixin