sync-engine-shared - Add equals/hashCode methods to models for operations on collections
sync-engine-shared - Check if children files should be ignored
sync-engine-shared SF
SOS-2387 Site Directory appears in the dockbar for non SO users if you resize browser to mobile view
sync-engine-shared remove unthrown exception
LPS-48024 Sending value by other input when checkbox is disabled
LPS-14559 Solr highlighting: setHighlightRequireFieldMatch=true
LPS-49392
LPS-49395 continue when element has no attributes

The diffs may contain comments, for which `element.getAttributes()` will
return `null` instead of an empty attribute collection.
LPS-49337 Using correct time zone for rendering rules
LPS-49337 Automatic SF
sync-engine-shared - Change file paths for children as well
sync-engine-shared - Check on create events only
sync-engine-shared - Reuse and make public
sync-engine-shared - Watcher holds a handle on folder for < 100 ms. Generally this isn't a problem but in a case on Windows, deleting a folder and it's empty subfolder will cause a DirectoryNotEmptyException on the parent since it's so quick. We can just stop watching the directory before deleting, which also reduces noise.