Raise an ArgumentError when a clashing named route is defined

Re: #9690, raise an ArgumentError when a clashing named route is defined.