A stab at abstracting some of the JS for the sidebar.

Creates a closure returning a function to handle sidebar actions generically. Data from the clicked HTML element is stored in the closure's scope, so the returned function just uses it.

Possible improvement in the HTML based on this would be to use a class 'sidebar-action' to attach the same handler more generally. (i.e., 'sidebar-details', 'sidebar-delete', 'sidebar-close' are redundant to the JS in this system.

Doesn't yet address how things work in the item-add branch.
just some whitespace cleanup. nothing to see here. move along.
Add some documentation
rearrange to sidebarContent is set before it is used
some cherry-picked (manually) adjustments from the item-add branch
Preliminary re-rethinking how this branch and JS work. Breaks into smaller individual functions.

This direction moves toward making different standard changes across a lot of views, and naming conventions for data attributes on elements. So, probably good that we're moving toward reconciling build and wireframes and working from wireframes in build. That'll foster more code review for the sake of making sure we're all following the same conventions and adjusting together when need be.
some cleanup and fixes to match markup data names
more streamlining of js callbacks
Merge branch 'develop' into global-js-object
Experimental variations to work with vocab pages.
Merge branch 'develop' into global-js-object
Merge branch 'develop' into global-js-object
align browse pages and  js global
Switch sidebar-delete- for sidebar-confirm
Merge branch 'global-js-object' into develop