[PSR-7] Clarify MessageInterface header methods

- Ensured that `(add|set)Headers?()` docblocks are consistent in the following:
  - what arguments can be expected (add and set variants should allow the same arguments).
  - detailing that object header values MUST be cast immediately.
- Added `clearHeaders()` method for clearing all previously set values. (see https://groups.google.com/d/msgid/php-fig/05dd990a-459e-4fa4-8617-04b820da51eb%40googlegroups.com for details)
- Modified `setHeaders()` description to indicate it will not reset headers, but
  instead overwrite those that exist, while leaving any not specified to the
  method intact.
[PSR-7] Removed all plural header methods

- Removed:
  - addHeaders()
  - setHeaders()
  - clearHeaders()
- For addHeader() and setHeader(), clarified that the methods accept only
  strings or arrays of strings.
[PSR-7] Remove references to objects in relation to headers

- Removed stray verbiage around allowing object values for headers.
Merge pull request #353 from weierophinney/hotfix/header-addition-clarification

[PSR-7] Clarify MessageInterface header methods