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).