Add `If-Range` support to `conditional` directive

This PR doesn't directly merge into your fork because I rebased onto the current master.
You therefore need to simply point your fork HEAD to the source branch of this PR.