introduce bin_to_nibble_list and bin_to_nibble_list_with_terminator

this makes the code a bit easier to understand

['0123456789abcdef'.find(x) for x in bindata.encode('hex')] may be a bit
shorter but it hides the intention of the code.