Initial demo of XKCD style plot visualization.
XKCD plot visualization: Improved graph building code.

- Much faster backend handling of plot timeline quries. This is just by adding the relevant field value pairs to the whoosh query.
- Added note about how the plottimeline queries Whoosh.
- Cluster merging.
- Put back year range feature.
- Hover highlights whole entity line, improvements to node drawing.
flowplot: New layout system for the plot timeline; renamed to flowplot.
flowplot: Improved flow layout, with a sequence of relaxation steps.
flowplot: Visual and interface improvements.

- Entity line labels.
- Brush interface for zooming.
- Mouseovers on line labels.
flowplot: Adapting to be a bit more like the visual approach of Ogawa and Ma (2010).
storyline: Renamed flow plot to storyline.
storyline: Visual and interface improvements.

- Added entities to node tooltip.
- Nodes can be selected to add constraints.
storyline: New interface with facet integration.

- Some changes to the frontend query code.
- Added option to get all cooccurring entities in the plottimeline backend view.
- Default facet for storyline view.
- Fix to frontend query system to avoid incorrect warnings.
- Better backend plottimeline cooccurrences handling.
- Fixing errors.
- Removed some unneeded code.
- Fixed cluster merging in storyline view.
- Cleaned up some debugging output and missing indentation.
- Removed storyline query mode initialization.
- Backend plottimeline view can choose and/or for finding cooccurrences; made frontend use the and form.
- Fix for missing storyline points.
- Fix to get storyline line labels right.
- Storyline doesn't show entity title field prefixes in facet mode.
- Storyline has different style for facet selection lines.
storyline: New hillclimbing layout; visual improvements.

- Made entity line titles translucent except on mouseover.
storyline: Deterministic hillclimbing; visual and interface improvements.

- Entity line labels don't do mouseover but let focus pass to elements underneath.
- Individual entity line point y positions.
- Entity lines change rows only just before next node. This should prevent most overlaps with nodes that aren't on the line.
- Draw entity lines with d3 diagonals instead of lines.
- Cleanup.
- Diagonal entity lines don't move until before next node.
- Flexible node heights.
- More improvements to entity line drawing.
- Fix to entity line y positions.
- Removed debugging initial storyline query.
- Nodes only take the space they need for their actual lines.
- Fix for scale of nodes.
- Factored out doubly linked list code.
storyline: Renamed 'row' to 'slot'; new slot layout code.

Using 'slot' is more consistent with Ogawa et al..

- Renamed rows management class to sound more generic.
storyline: Moving to per-line rows and a new layout method; some visual improvements.

- New greedy node placement system.
- More efficient search for best node position.
- Cleanup.
- Improvements (?) to entity line label styles.
storyline: Trying to use d3 force layout for better entity line label positions.
storyline: Better entity line label placement.
storyline: Visual and interface improvements; code improvements.

- Only do the full entity line label positioning when the x-scale changes.
- Fix to inconsistent slot index bug; check and log output for inconsistent indices.
- Storyline facet mode uses context query instead of global query.
- Fixed multiple storyline node selection.
- Avoid doing some of the storyline drawing preparation twice.
- Don't keep storyline selection after clear from constraint box.
- Storyline selected nodes are indicated visually.
- Storyline vis cluster selection updates if the vis clusters change. That is, if the view changes, any selected vis clusters that don't exist any more are removed from the selection. Vis cluster identity for this purpose is by year and unique data cluster set.
- Make compound queries update reliably whenever a subquery result watcher changes. This makes compound queries generally update on subquery changes regardless of whether any subquery has new results. Previously a compound query only updated after one of its subqueries did an update which actually produced new results, which meant that if a result watcher on the compound query changed but nothing about the subqueries changed, an update() call on a subquery would not trigger an update (and result watcher callbacks) on the compound query. Now in this case the compound query gets an automatic update() call regardless of whether the subquery update actually goes to the backend.
- Fixes to generic index file. It got messed up accidentally by previous work.
- Factored out abstract storyline layout code; some cleanup and improvements.
- Factored out the entity line normalization and link building code.
- Fix to storyline node classes and select handling.
- Removed testing stuff.
- Don't add empty years to the entities table.
- Storyline manual query mode includes cooccurrences like facet mode.
- Storyline defaults to query mode if default facet is null.
- Config file option to set the data field the storyline uses to define clusters.
- Factored out list of data fields from help text.
- Clear query button for storyline query mode; update button has primary button style.
- The clear button is so the help message can come back without refreshing the page.
fix some bugs in dataPrepration script
Update website.md
Word-wrap README files and rename them .md

This way, Github and other tools will know they're markdown and display them
accordingly.

It's also much easier to read when it's word-wrapped to 80 chars.

The lines including code or strings to be copied and pasted haven't been
word-wrapped.
Improved formatting of README files