Support ASN.1 indefinite length

Partial support for ASN.1 indefinite length decoding.

Indefinite length is not part of DER and therefore we'd rather not support it at all. However some quirky certificates use it, so make it possible to parse them.

The patch only supports indef length encoding for Sequence, SequenceOf and SetOf types, as well as outer indef encoding for explicit tags. String types, Choice and Any are not supported yet - hopefully we'll never see that in practice.

Additionally, the patch fixes some unit test bugs and sets strict=False when printing certificates from the utility.

I haven't yet, but I'll run one of the CT logs through it before submitting to make sure we can parse everything.