Prevent endpoints from duplicating

Fixes confirmed bug from issue [#552](https://github.com/intridea/grape/issues/552). I included a test that fails on master and passes in my current branch.

However, there are breaking changes to the spec. I am not familiar enough yet with the codebase in order to properly debug. Would love it if someone more experienced could take a look and try to parse out the error. It appear that my changes fails tests where the endpoints should be nil.

Would appreciate any feedback.