#10 allows the user to specify custom pin numbering schemes instead of auto-assigning pins 1 through N.
A check should be performed whether any pin number is assigned twice, and throw an error if so.
This is different from #71, since pin names need only be checked for duplicates if actually attempting to connect a pin with an ambiguous name, whereas pin numbers should be unique by definition, so this check should be performed during connector creation.