update variant.hpp (use std::forward<T> for perfect forwarding - via @DennisOSRM)