Greg Van Avermaet overhauled Zdenek Stybar in a thrilling Paris-Roubaix sprint finish to claim his first Monument.