use #f, not null, as failure return value from ly:assoc-get

Checking against #f simplifies the if expressions and doesn't
pretend we're using lists where we aren't.
simplify note head selection
move stem attachment adjustment for 3rd finger to stick-fingers
pluralise prev-str-no / prev-finger

prev-str-no --> prev-str-nos
prev-finger --> prev-fingers

These two variables each store one pair per context. Given two contexts
"bass" and "melody" both str-no and finger may contain two pairs each.
formatting
run add-fret-text only if str-no is valid
ensure argument is a stream-event

also:
- remove unnecessary null? check
- fix formatting of the expression