Expose Rule's interface and Allows method

* Expose Rule interface so developers can implement custom Rules
* Expose ServeMux.allows as Allows, Route implements Rule, which
some may find useful