Strict verification of resource deletion in TemporaryFolder rule

PR that adds support of strict verification of deleted resources when using `TemporaryFolder` rule #1001
For the `Timeout` rule, we gave the `Builder` a protected constructor. I think the reason was because most users should use the `builder()` static method, but if someone wants to subclass `Timeout` they should be allowed to subclass the Builder.

Perhaps we should make this Builder have a protected constructor, too.