Properly decode `None` variants

This fixes an issue where a `None` corrupts the next value in the stream.
When a `None` variant is encountered this patch consumes the byte which was used to represent it.

This fixes issue #41.