3.0 Routing resource improvements part 1

This is the first set of changes for #3962. It adds the `only` and `actions` options to `resources()`. I've also removed the duplicated code between Router and RouteBuilder with these changes, and fixed a bug where routes matching multiple HTTP methods could never be reverse routed in a sane way.

I'm also considering renaming `[method]` to `_method` as it would be more consistent with other special routing options like `_ssl`. and `_host`.