Add each user hash


Add Socialcast::Provision#each_user_hash to allow the ldap integration to be used without calling the provisioning API.

Also:
* fix a bug where the provision command fails if an ldap attribute has the same name as a class
* moved ```Net::Ldap``` extensions into ```Socialcast::Provision``` to make it clear which library owns these methods

Known side-effects of these changes:
* custom fields and roles xml tags will now be self-closed when empty instead of an open tag and a close tag (i.e. ```<custom-fields type=“array” />``` instead of ```<custom-fields type=“array"></custom-fields>```
* all xml tags will now be *dasherized* (i.e. ```<first-name>Brian</first-name>``` instead of ```<first_name>Brian</first_name>```