func RemoveTrailingSlash() vodka.MiddlewareFunc {
	return RemoveTrailingSlashWithConfig(TrailingSlashConfig{})
}
RemoveTrailingSlash returns a root level (before router) middleware which removes
a trailing slash from the request URI.

Usage `Vodka#Pre(RemoveTrailingSlash())`
package middleware
import (
	"github.com/insionng/vodka"
)
type (
	TrailingSlashConfig struct {
		Skipper Skipper
		RedirectCode int `json:"redirect_code"`
	}
)
var (
	DefaultTrailingSlashConfig = TrailingSlashConfig{
		Skipper: defaultSkipper,
	}
)
func AddTrailingSlash() vodka.MiddlewareFunc {
	return AddTrailingSlashWithConfig(DefaultTrailingSlashConfig)
}
func AddTrailingSlashWithConfig(config TrailingSlashConfig) vodka.MiddlewareFunc {
	if config.Skipper == nil {
		config.Skipper = DefaultTrailingSlashConfig.Skipper
	}
	return func(next vodka.HandlerFunc) vodka.HandlerFunc {
		return func(c vodka.Context) error {
			if config.Skipper(c) {
				return next(c)
			}
			req := c.Request()
			url := req.URL()
			path := url.Path()
			qs := url.QueryString()
			if path != "/" && path[len(path)-1] != '/' {
				path += "/"
				uri := path
				if qs != "" {
					uri += "?" + qs
				}
				if config.RedirectCode != 0 {
					return c.Redirect(config.RedirectCode, uri)
				}
				req.SetURI(uri)
				url.SetPath(path)
			}
			return next(c)
		}
	}
}