Allow "(" and "!" to follow path fragment in macro

A path can contain parentheses and exclamation marks.

macro_rules! path {
    ($p:path) => {};
}

fn main() {
    path!(Fn(A) -> !);
}