(maint) Use Struct::Passwd instead of Etc::Passwd

The return type of Etc.getpwent (and friends) is available as
Etc::Passwd in ruby 1.9.3 and later. However that constant doesn't exist
in ruby 1.8.7. However the docs refer to the type as Struct::Passwd,
which turns out to be available on 1.8.7, 1.9.3, 2.0.0, and 2.1.0.
(PUP-2936) Fix checksum during PMT build

Prior to this commit `puppet module build` was checksumming the source directory
and putting that in checksums.json.
This commit corrects that behavior so it checksums the built module instead.
Additionally, it removes the deprecated and confusing checksums field from
metadata.json because there is no reason to keep it around during a build.
(PUP-2936) Add spec tests for module#delete