Browse recursively for include from include path

Also suggest files from below the user-set include paths.
(Until now only files directly below the include paths had been
suggested.)

TODO:
- if the include paths contain identically named directories
  (I have several includes roots with a "layout" folder in it,
   other situations are quite plausible) then the next level will
   display a mixed (i.e. alphabetically sorted) list from all
   sources, which can be confusing).
   A suggestion is to group the autocompletion pop-up
   (something that would be good for other purposes too).
   There should be non-selectable group headers specifying
   - local files (relative to the document)
   - files from include paths
     - subheading for each include path
   - files from lilypond itself
   Group headings should only appear if there _are_ entries
   from it.
Merge pull request #401 from uliska/include-completion

Browse recursively for include from include path
multiple voices in pianoStaff wip
Hold merge for Pianostaff no 2, some restructure needed
avoid backup when skip
Merge pull request #404 from PeterBjuhr/musicxml

MusicXML multiple voices in PianoStaff
additional clefs
reset after PianoStaff
Merge pull request #405 from PeterBjuhr/musicxml

MusicXML more fixes
reset voices
move token_hash to docinfo, as discussed in issue #406
on saving autocompile not needed
tempo directions
add Page.image

as discussed in issue #406, todo: use it from the cache, without keeping
a pointer to the document...
avoid python errors
deepcopy needed
doctype
better clef support
Merge pull request #407 from PeterBjuhr/musicxml

MusicXML more fixes