Asn1 indefinite length

See closed pull request #40 for details.

I believe that still someone should check the changes to Sequence and help me to actually solve it cleanly. Does not seem to be the way to do it.
This does not work in general because for structured types such as Sequence, it could hit '\x00\x00' in content bytes.

I suspect that what needs to be done here is to return (-1, rest) and have the calling code check for -1 ("indefinite length") and handle it. FWIW, I don't think we need to particularly care about the efficiency of this code so a stupid recursive _determine_length(buf) class method should do for now, even if it ends up doing some of the work twice.

In any case, please do add tests for this in types_test.py as well.

Also, please note that I've put all such DER violations under a 'strict' decoding flag so I suggest we do the same for this one. In other words, decoding should only succeed when the caller has specifically requested strict=False.