(PUP-2738) Ensure block in user.password_is?

This ensures that a block is given by password_is? when calling
logon_user even though it doesn't need to do anything with it. We went this
route because it made more sense to require a block for this call versus
checking if a block was given in the logon_user method. If you call
logon_user without passing a block you cannot take the next step to later do
something as that user. So it would be a misleading if we allowed it without
requiring a block.
In security_spec we have a test that looks like this and performs an add / delete of a user.

```ruby
it "should retrieve the user sid" do
  sid = nil
  user = Puppet::Util::Windows::ADSI::User.create("delete_me_user")
  user.commit
  begin
    sid = Puppet::Util::Windows::ADSI::User.new(user.name).sid.to_s
    winsec.set_owner(sid, path)
    winsec.set_mode(WindowsSecurityTester::S_IRWXU, path)
  ensure
    Puppet::Util::Windows::ADSI::User.delete(user.name)
  end

  winsec.get_owner(path).should == sid
  winsec.get_mode(path).should == WindowsSecurityTester::S_IRWXU
end
```