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

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.