Capturing predictable exceptions from Orcid

When requesting the creation of an orcid profile, the remote service
could say the request is invalid.

More information at:
http://support.orcid.org/knowledgebase/articles/252102-api-error-codes

Closes ndlib/sufia_orcid#3
Merge pull request #16 from projecthydra-labs/issue-3

Capturing predictable exceptions from Orcid
Creating Orcid::ProfileStatus

This is an attempt to consolidate that knowledge.

There are several places in which we want to have access to a user's
Orcid Profile status, and methods related to those states.

The Orcid Profile Status makes use of callbacks because we do not
have a uniform object that represents each state for a user and their
orcid profile.

@TODO - review the controllers that have encapsulated this state and
have it lean on the Orcid::ProfileStatus handler.
Merge pull request #17 from projecthydra-labs/adding-profile-status

Creating Orcid::ProfileStatus
Adding helper method for Orcid URI
Merge pull request #18 from projecthydra-labs/adding-url-helper

Adding helper method for Orcid URI
Conditional rendering for orcid profile connecter

The orcid profile connector should account for the identified states
of a user's orcid profile.

I have introduced a first pass at each of those options.

Closes to ndlib/sufia_orcid#4