Fix inheritance with Rule.empty

Rule.empty() always returned an instance of werkzeug.routing.Rule
even when a Rule subclass existed. This patch ensures that the
new instance of the rule returned by empty() is always an instance
of the class the rule is an instance of.
I think ``type(self)`` is nicer here. Since ``Rule`` is a new-style class, there should be no behavioral difference.