Not working on 1.6.2-dev
If there are multiple interpretations for a given OTP, first try to find the one
which matches the input OTP. If the one is found, use the input OTP, otherwise
use last of the available interpretations.

Reported by Klas Lindfors, part of #14.
last -> random (.pop() on a set returns a random item).
Merge pull request #15 from Kami/improve_otp_decoding

Improve otp decoding