refactor to do bib data bind better

now uses a hierarchical data join.
validate bib sorting choices

fixes failure to update the sorting submenu when the URL is something
like #/bib/ (in which case major === "")
more d3-like bib rendering

instead of just clearing everything and re-adding, this uses the data
join more idiomatically. Requires a little footwork to deal with the
case when the major sort key hasn't changed but the minor has.
fix a sorting glitch

journal-contents order was handling issues wrong. ?: abuse.
update minified source