Send bytes as received for correctness.
Use RevivableInputStream to avoid blocking reads.
No need to pump from sysin for javac.
No need to pump in for check either.
Rebind only when needed.
Manually memoize to be able to warn when needed.

For instance would password reading not work as intended when this input
is rebound.
Abort when passwords cannot be read. Fixes #957.

See pull request for more information on how 957 was solved, what one
should note after this PR, along with constraints and untested
functionality.
Replace `lein help deploy` with `lein help gpg`.
Bump dependency on com.hypirion.io
Drag out piping logic to com.hypirion.io
Don't read input when calling GPG.

GPG handles reading data by itself somehow.
Add expected :input-stream in repl test.
Merge remote-tracking branch 'hyPiRion/read-nonblocking'

Conflicts:
	src/leiningen/deploy.clj
Exception as side-effect.