Responds 404 if nested conditions are unmet.

Before:

```ruby
Cuba.define do
  on get do
    on root do
      res.write("unmet")
    end
  end
end

# GET /notexists => 200
```

After:

```ruby
Cuba.define do
  on get do
    on root do
      res.write("unmet")
    end
  end
end

# GET /notexists => 404
```

This solves the "tricky" behaviour explained in #27.
Why do you need to do this here as well as in `#finish`?