Improvements to the per-request permission (decision) cache by storing the resource for disambiguation in case two resources have the same hash. It also does away with using exceptions, and instead uses regular flow control.
Finally it adds some tests for `Resource.__eq__()` to make sure the resource equality checking works as expected.