Add ZMQ_REQ_SEND_RESETS option.

This allows making a new request on a REQ socket by sending a new
message. Without the option set, calling send() after the first message
is done will continue to return an EFSM error.

It's useful for when a REQ is not getting a response. Previously that
meant creating a new socket or switching to DEALER.
REQ: Unset reply_pipe if it terminates.

* Fixes a terminate() call on a dangling pointer in the SEND_RESETS
  case.
* Fixes recv_reply_pipe() never receiving a message once the pipe it is
  waiting on is terminated.
Added note about tivotisation
Merge pull request #621 from hintjens/master

Added note to clarify policy for embedded apps
Merge pull request #619 from ckamm/req-send-resets

Add ZMQ_REQ_SEND_RESETS option.
Rename ZMQ_REQ_SEND_RESETS -> ZMQ_REQ_STRICT.

It defaults to enabled. Switch it off to be able to send a new message
before the previous reply has been received.
Merge pull request #622 from ckamm/req-strict

Rename ZMQ_REQ_SEND_RESETS -> ZMQ_REQ_STRICT.
Fix compile error on windows.
Merge pull request #623 from ricnewton/master

Fix compile error on windows.