Fixed issues with scrollspy

- Tweaked when scrollspy refreshes (now directly in scrollspy on
scrollHeight changed)
- Fixed mouseover/mouseout events for navigation, now uses
mouseenter/mouseleave
- Fixed clicking nav items so that they keep their focus
Updated logic for scrolling activation
Removing the refresh timeout
Merge branch 'develop' into feature/object_nav
Ensure program owners have RoleReader in admin context

* before, it only checked if they have RoleReader in *some* context, but
  admin context is required
Hide 'RoleReader' role from services
Enable overriding or suppressing creation of some widgets
Fix overridden descriptors and add cases for Program
Add DirectListLoader and apply to Directives

* Directive#sections, Directive#controls
* fix more miscellaneous tree issues
* add 'unmap_or_delete' helper to check whether 'unmap' operation will
  delete the object itself
placeholder text change
tooltip transparency on LHS removed
text align left in all black tooltips
Merge pull request #255 from reciprocity/feature/object_nav

Changed scrollspy so that it has our intended behavior
Merge pull request #258 from reciprocity/feature/additional-fixes

Two fixes for RBAC
Merge pull request #261 from reciprocity/feature/search-placeholder

placeholder text change
Merge pull request #262 from reciprocity/feature/remove-tooltip-transparency

tooltip transparency on LHS removed
Merge pull request #263 from reciprocity/feature/left-align-tooltips-text

text align left in all black tooltips
Move 'Relatable' out of 'Base'

* `type` was not being set correctly on models with single table
  inheritance (System/Process and Directive types)
Deprecate 'SystemControl' and 'SystemSystem' tables

* in favor of using ObjectControl and Relationship tables
Change multi-type selector to load incrementally

* removes live binding-to-list on "option" column in favor of appending
  elements manually (to avoid full-list redraw on increment)
* add basic support for search (no interface support yet)