Use a proc to determine the current time in the factories

If `Time.now` is set in a factory, the factory memorizes the set attribute throughout the testsuite. So if the time between initializing the factory and using the factory is lager than the `max_issue_instant_offset` set in the `Saml::Config` the created instance for that factory becomes invalid. Using a Proc for the `Time.now` in the factory sets the attribute every time it's called, instead of memorizing it. You can encounter this issue with the validation of the `issue_instant` from the class `Saml::Assertion`.