Savon implementation

This work enables Puppet 3 support and uses Savon 2 instead of soap4r.