slightly better error when no ciphers are available
split parameters from context
split Backend and introduce a new HasBackend class

the HasBackend class allow to not have multiples contextNewOnX calls,
but instead will favor only one contextNew that can take all HasBackend types.
cleanup import
remove connectVersion as it should be the maximum of allowedVersions
define failOnEitherError
use the backend class completely and mark contextNewOnX symbols as deprecated
make compression an instance of Eq.
add a way to get information about a context.

WIP need to include certificate information.
remove connectVersion.
export information and related.