Pass identifier name to HalCollection

- Passing the identifer name to the HalCollection allows us to remove
  the hardcoded `array('id' => $identifier)` used to populate the
  resource route parameters. This resolves #52.
CS fixes

- per php-cs-fixer
Merge branch 'hotfix/52'

Close #52
Merge branch 'hotfix/52' into develop

Forward port #52
[#57] Update readme

- Updated README per additions made in #54
Merge branch 'hotfix/readme-updates'

Close #57
Merge branch 'hotfix/readme-updates' into develop

Forward port #57
[#48] Allow Exceptions to provide more detail

- Created ProblemExceptionInterface, which defines 3 methods:
  - getTitle
  - getDescribedBy
  - getAdditionalDetails
- ApiProblem checks if $detail provided to constructor is a
  ProblemExceptionInterface, and, if so, will set the title,
  describedBy, and additionaDetails values, if not present, to the
  values returned by those methods.
- DomainException now implements ProblemExceptionInterface and provides
  setters as well as the getters, allowing you to set this information.
  CreationException, UpdateException, and PatchException all extend
  DomainException already.
[#48] Documented custom exceptions for Problem API
[#48] CS fixes

- per php-cs-fixer
Merge branch 'feature/48' into develop

Close #48
Merge branch 'develop'

Merge in features from #48
fixed resource configuration array
Merge pull request #58 from RomanKonz/patch-5

fixed resource configuration array
Merge branch 'hotfix/58'

Close #58
Allow setting all controller options via factory

- Added handling for all setters
- Documented all options
Merge branch 'hotfix/controller-options'

Allow setting all options via factory
Allow passing identifiers via factory
Merge branch 'hotfix/identifiers'
CS fixes

- per php-cs-fixer