enable large file support

this should make some tests for LFS happy; we don't use sizes of or offsets in files here
tab align auth_data_ssh dissection for readability
rfc4251string: add more operators

this adds <= > >= !=
cosmetic: fix double semicolons
do clean exit after receiving signal
rfc4251*: add constructors from std::istream and use them
rfc4251: move remaining non-inline functions to impl file
rfc4251string: drop unused and dangerous constructor from just a pointer

better use std::istringstream or boost::iostream::array_source
use a boost stream directly

instead of declaring an intermediate stream_buffer
use boost::iostreams instead of std::stringstreams

boost::iostreams::array_source instead of istringstream
boost::iostreams::back_insert_device instead of ostringstream

this should save at least one copy each and still has length checks (input)
or dynamic growth (output)
add more #include's, add using's for often-used names
factor out cloexec setting and stream exception arming
throw system_error instead of calling perror, exit
also replace custom fatal errors with exceptions
use a mutex for fd creation and forks

so we can have the CLOEXEC flag applied before a concurrent fork&exec.
use select() to avoid blocking while holding the mutex.
rfc4251uint64: fix byte order conversion
add dissection of pam_ssh_agent_auth data
update copyright
release 0.4
Merge tag '0.4' into debian

0.4