Don't error out when progression order is invalid.  #186

Instead of a regular dictionary for the display of progression order,
use a subclass of defaultdict instead.  The defaultdict's __missing__
method is overridden to supply a custom error message that used the
offending key.  Everybody wins!!!
Merge branch 'issue186' into devel