Feature: Add a DuplicateAuthenticationError

We need a representation of when a user of one account attempts to register an
authentication token for a 3rd party service which has already been added to
another user.

--------------------------------------------------------------------------------
Change-Id:     Iec29806cd8fffa4bcc771dd6f98efc03d94c764a
Signed-off-by: Jeff Felchner <accounts+git@thekompanee.com>
Refactor: Simplify the instantiation of our lowest level errors

It just makes things a little cleaner since the superclass `HumanError::Error`
will use an `attr_writer` to set whatever parameters come in.

We removed all of the initializers from our error classes.

We are no longer being explicit about which parameters are required when
creating our errors.  This may be problematic, but there is a low risk.

--------------------------------------------------------------------------------
Change-Id:     Ia4ac160ad24432c032b94654c50bc369fbb980d8
Signed-off-by: Jeff Felchner <accounts+git@thekompanee.com>