title: Zend ACL throwing exception on non-existing resources
body: <p>I'm trying to get Zend ACL up and running but I seem to be running into the following problem:</p>
  
  <pre><code>PHP Fatal error:  Uncaught exception 'Zend\Permissions\Acl\Exception\InvalidArgumentException' with message 'Resource 'article-2' not found' in vendor/zendframework/zend-permissions-acl/Zend/Permissions/Acl/Acl.php:292
  </code></pre>
  
  <p>I get the impression that Zend ACL throws and exception when a resource is not added to the resource list. To give an example:</p>
  
  <pre><code>$user1 = 'user-1';
  $user2 = 'user-2';
  
  $article1 = 'article-1';
  $article2 = 'article-2';
  
  $acl = new Acl();
  
  $acl-&gt;addRole( new Role('user') );
  $acl-&gt;addRole( new Role('user-1'), 'user' );
  $acl-&gt;addRole( new Role('user-2'), 'user' );
  
  $acl-&gt;addResource( $article1 );
  
  $acl-&gt;allow( $user1, $article1 );
  
  echo $acl-&gt;isAllowed( $user1, $article2 ) ? 'allowed' : 'denied';
  </code></pre>
  
  <p>As you can see, I'm creating 3 roles, one generic user role and two user specific roles. Then I create two articles and I allow user 1 to access article 1. But, when if I now test if user 1 can access article 2, BOOM, exception!</p>
  
  <p>The `isAllowed' should obviously just return false instead of throwing an exception. Imagine I have 1000 users and 1000 articles, it would mean that besides specifying which users can access which article, I also need to specify which articles they cannot accessed by each user. This obviously results in ridiculous long ACL's and memory consumption, and to top it off, articles aren't my only type of resources!</p>
  
  <p>Other that wrapping the <code>isAllowed</code> in a <code>try/catch</code> (which is obviously clunky), what would be the best way to cope with this odd behavior?</p>