[PSR-7] Add attach() to the StreamInterface

- Per Evert Pot on the mailing list, having an attach() method can be useful for
  replacing the underlying stream resource -- particularly when in server-side
  code and you wish to change from one content stream to another (e.g., to
  return a file instead of a string).
[PSR-7] Changed detach() signature

- Updated `detach()` signature to indicate it should return the underlying PHP
  stream.
[PSR-7] Add getMetadata() to StreamInterface

- Adds a `getMetadata()` method to the StreamInterface, as suggested by
  @mtdowling, and as originally defined at
  https://github.com/guzzle/streams/blob/3.0/src/StreamInterface.php#L142-L157
[PSR-7] Remove `$maxLength` from StreamInterface::getContents()

- Per @mtdowling, this will be rarely if ever be used, and actually makes
  implementations overly complex.
[PSR-7] Rename StreamInterface to StreamableInterface

- @auroraeosrose raised the point that the name `StreamInterface` connotes that
  the object can be consumed as a PHP stream (i.e., that it acts as a stream
  wrapper). Since it does not, renaming it to `StreamableInterface` makes sense
  as it indicates the contents are something that can be streamed, but that the
  implementation may not be an actual PHP stream.
Merge pull request #331 from weierophinney/feature/detach-return-value

[PSR-7] Clarification of detach() method of StreamInterface
Modified return annotation further.

- Per @mtdowling, changed from `resource` to `resource|null`. Since the
  implementation does not need to wrap an actual stream, just something that can
  act like one, `detach()` will be undefined for cases where a stream is not
  wrapped.
Merge pull request #335 from weierophinney/feature/detach-return-value

[PSR-7] Clarification to StreamInterface::detach
Remove obsolete verbiage from docblock

- per @renan
Merge pull request #330 from weierophinney/feature/stream-attach

[PSR-7] Add attach() to the StreamInterface
Merge pull request #332 from weierophinney/feature/stream-get-metadata

[PSR-7] Add getMetadata() to StreamInterface
Merge branch 'feature/stream-get-contents-maxlength-removal' of github.com:weierophinney/fig-standards into weierophinney-feature/stream-get-contents-maxlength-removal

Conflicts:
	proposed/http-message.md
Merge branch 'weierophinney-feature/stream-get-contents-maxlength-removal'
Merge pull request #334 from weierophinney/feature/streamable-interface-renaming

[PSR-7] Rename StreamInterface to StreamableInterface
Described the IncomingRequestInterface
Updated IncomingRequestInterface from feedback

Removed:
- setQueryParams() (per discussions on the PR and on-list)
- setIncomingFiles() (per discussions on the PR and on-list)

Added:
- getCookieParams() (per @pmjones on-list)
- getPathParams() (per @pmjones on-list)
- setPathParams() (per @pmjones on-list)