Conditions for Guards [WIP]

See #262.

So far this only applies to the RoutePermissionGuard as a proof of concept.

Can I have your feedback @bakura10 before I proceed to finishing it off with the other guards and docs.

It's a shame that this guard specifically was created with an AND default whereas an OR would have made more sense (like the RouteGuard).
By the way, you are doing the check against condition inside the loop. I think the check can be move out the foreach.