Allow for more flexible access rules declarations

Makes sure every rule passes (not just some), picks the result of the
first failing rule (we are mostly interested  in the "Location" header)
All rules specified in the :rules vector should return true in order to allow access to the :uri resource
Clarify tests
Merge pull request #67 from yogthos/master

new access rule features
Merge pull request #68 from yogthos/master

improved access rule handling
Merge pull request #69 from yogthos/master

added on-fail option for redirects
Merge pull request #70 from yogthos/master

updated docs
updated docs
Merge from upstream
Makes :rules [] use every? by default, instead of some

Also makes all rule grups matching an url pass
Update tests
Add test to show a problem with :uris
Fix :uris not matching correctly
Merge pull request #66 from da-z/master

Allow for more flexible access rules declarations
fixed rule matching with context