Move trailing option into Router. Use its value as default for routes.

Reworked #727. Also made some refactoring and added more tests.

Question. What should we do in the case when you pass a pattern with a trailing slash directly into `Router::match`? IMO, we should truncate the slash internally, so there won't be any difference between ordinary kind of pattern and this one.

Note. If we then decide to change default value for the `trailing` option to `true`, then many tests will fail, because they use hard-coded URLs without slashes for checking result.