Create Endpoint before checking for duplicates

ID might be generated from the name, still has to be unique
Reorganize tests
Make sure not to invalidate tests with forced toString()
Move Unfunnel to separate file
Commit random local changes
Add .gitignore file
Update mocha