DRY up Controller#duplicates

Prior to this commit, exactly the same logic existed for duplicated
checking for both Events and Venues. This commit abstracts away the
minor differences, like instance variable name, and moves the logic to
the base controller.