rework printing for visual host key upper border

Key types are getting longer and the current implementation of visual
host key breaks with ED25519, resulting in (note the missing bracket):

+--[ED25519  256--+

This reworks the calculation of visual host key upper border. Please be
aware that this slightly modifies the output for other key types as
well:

+--[ DSA 1024]----+
+---[DSA 1024]----+

+--[ RSA 2048]----+
+---[RSA 2048]----+

+--[ECDSA  256]---+
+---[ECDSA 256]---+

+--[ED25519  256--+
+--[ED25519 256]--+