ly.pitch.transpose.transpose working well
fix Source iteration over selections when tokens_with_position is True
small touchup
no need to specify the document to PitchIterator.write; use the Source, luke!
also reverse edits on one start point
make pitch writing more robust
sort changes once
move accidental and octavecheck to Pitch
add Pitch.f0, used for new relative behaviour
move rel2abs to ly
move abs2rel to ly
better order of deletions and insertions
handle the case where a change has end None
shorter
port quickremove to lydocument
better doc
let select_block use ly.document.Runner
doc
Open search widget selected

Addresses  #319

If Document doesn't have a selection any existing search term
isn't replaced.
This commit makes the widget open with the term selected
so one can immediately overwrite it.

To be done: Behaviour when widget is already open.
Handle search term properly when widget is open

fixes #319

Now the behaviour is identical whether the search widget is open
or not:

a) No search term
-> word at cursor is search term (if selected or not)

b) Existing search term
-> 1) No selection in document
      Search term is kept but selected
   2) Selection in document
      Selection is new search term