Add checks for obfs4 certificate
Currently shapeshifterlib and the application including it crashes if the certificate has an invalid length. iirc I saw this bug only with too long certs while working on the bitmask error handling.
2019-10-19 00:39:02.933 5454-5507/se.leap.bitmaskclient D/Shapeshifter: shapeshifter initialized with:
ShapeShifter{Cert:gZlp9k6br2vn2MLnmjXpNh8D/CrR5wtackwZof/iICv1QzPwkkTUa+7JVOKtPiD0NFwCMwi,IatMode:0,Target:37.218.247.60:23042,SocksAddr:127.0.0.1:4430,}
[...]
2019-10-19 00:39:04.207 5454-0/se.leap.bitmaskclient E/Go: panic: runtime error: invalid memory address or nil pointer dereference
2019-10-19 00:39:04.207 5454-0/se.leap.bitmaskclient E/Go: [signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x8a8233dc]
2019-10-19 00:39:04.207 5454-0/se.leap.bitmaskclient E/Go: goroutine 21 [running]:
2019-10-19 00:39:04.208 5454-0/se.leap.bitmaskclient E/Go: github.com/OperatorFoundation/shapeshifter-transports/transports/obfs4.(*Obfs4Transport).Dial(0x0, 0x4fcba000, 0x13, 0x0, 0x0, 0x0, 0x0)
2019-10-19 00:39:04.208 5454-0/se.leap.bitmaskclient E/Go: /go/src/github.com/OperatorFoundation/shapeshifter-transports/transports/obfs4/obfs4.go:193 +0x78
2019-10-19 00:39:04.208 5454-0/se.leap.bitmaskclient E/Go: se.leap.bitmaskclient/shapeshifter.ShapeShifter.clientHandler(0x4fcbc000, 0x47, 0x0, 0x4fcba000, 0x13, 0x4fcb8010, 0xe, 0x8a8c0eb8, 0x4fcc0030, 0x4fcc2000, ...)
2019-10-19 00:39:04.208 5454-0/se.leap.bitmaskclient E/Go: /go/src/se.leap.bitmaskclient/shapeshifter/shapeshifter.go:79 +0x74
2019-10-19 00:39:04.208 5454-0/se.leap.bitmaskclient E/Go: created by se.leap.bitmaskclient/shapeshifter.ShapeShifter.clientAcceptLoop
2019-10-19 00:39:04.208 5454-0/se.leap.bitmaskclient E/Go: /go/src/se.leap.bitmaskclient/shapeshifter/shapeshifter.go:71 +0x13c
2019-10-19 00:39:04.208 5454-5512/se.leap.bitmaskclient A/libc: Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 5512 (Thread-3), pid 5454 (p.bitmaskclient)