make update
Add -engine_impl option to dgst which will use an implementation of
an algorithm from the supplied engine instead of just the default one.
(cherry picked from commit bb845ee044587a91589357a772a02cffb0ba4454)
New function to set compression methods so they can be safely freed.
(cherry picked from commit cbb67448277232c8403f96edad4931c4203e7746)
Compare encodings in X509_cmp as well as hash.
(cherry picked from commit ec492c8a5a1491949166c4b37df8666741180f4d)
Support retries in certificate callback
(cherry picked from commit 0ebc965b9ca4352e407bb7cfa65ac235942117f6)

Conflicts:

	ssl/s3_srvr.c
	ssl/ssl3.h
Add cert callback retry test.
(cherry picked from commit 3323314fc1c6d18e650a2de97f7cf9892ac92a60)
make update
Certificate callback doc.
(cherry picked from commit 46ab9bbd7fa610d775fe645dd0fe6d509c8dff3a)
Add loaded dynamic ENGINEs to list.

Always add a dynamically loaded ENGINE to list. Otherwise it can cause
problems when multiply loaded, especially if it adds new public key methods.
For all current engines we only want a single implementation anyway.
(cherry picked from commit e933f91f50108a43c0198cdc63ecdfdbc77b4d0d)
Check i before r[i].

PR#3244
(cherry picked from commit 9614d2c676ffe74ce0c919d9e5c0d622a011cbed)
Fix demo comment: 0.9.9 never released.
(cherry picked from commit 717cc8589540b95122a652dee68e6a75b6262d93)
typo
(cherry picked from commit cb2182676bdf652070bc272a3896d957763a4324)
Clarify docs.

Remove reference to ERR_TXT_MALLOCED in the error library as that is
only used internally. Indicate that returned error data must not be
freed.
Fix warning.