Added C3 linearization algorithm for multiple inheritance.
Implemented multiple inheritance.

closes #134
Added a multiple inheritance example suite.
Force list values for [runtime]inherit.

Test battery now passes on multiple inheritance branch.
first-parent single-inheritance hierarchy for gcylc treeview
Experimenting with first-parent SI for graph.
Efficient multiple inheritance.

The result of each unique linearized hierarchy is computed only once.
New 'cylc list' command option for multiple inheritance.

Print the runtime tree for first-parent single-inheritance, or the full
C3-linearized multiple-inheritance hiearchy.
Merge branch 'master' into 134-multiple-inheritance
Better multiple inheritance example suite.

Based on Dave Matthews' original OPS,VAR/SERIAL,PARALLEL case.
Better error message for bad runtime MI hierarchy.
Added a bad MI example, renamed namespace examples.
Updated the user guide for MI.
Better names for runtime inheritance related data structures.
Exclude non first-parent families from dot view headings.
Shorter description of MI example.
Cleaned up the MI documentation a bit.
DB now stores user at host in events table too.
Tidy and tweaks.
Prevent creation of a new run db updater thread on reloading the suite.

This caused a left-over process on shutdown after reloading a suite.
Closes #295.