Now requiring that modules or classes have a attributes method that declares what attributes are needed from ldap to complete its run method. The Hash funcitonality was broken due to issues with modifying the object in place, so now we are dupping before calling delete. Also now using camelize to allow for modules in the declaration