First refactor of the search navigator JS

First big refactor of the search navigator.  This:

*  Breaks the shared navigator stuff into its own JS file
*  Shows the "next" and "previous" arrows regardless of it there's another; if they're at the first or last result, the arrow is disabled and at 30% opacity
*  General JS cleanup.