Removed single stray print statement
The StaticArgs _specs attribute is now an explicit parameter

The specifications used in defining a StaticArgs object are now
explicitly declared as a constant parameter (with the leading
underscore removed).
Updated method doc strings, regrouped toplevel imports
ListArgs values now an explicit parameter

The 'arg_name' parameter has also been renamed to 'list_key' and a
syntax error introduced by the previous commit has been fixed.
Binary operands now declared as explicit parameters

The operands 'first' and 'second' of StaticConcatenate and
StaticCartesianProduct now explicit, constant parameters.
LinearArgs definition and usage simplified

LinearArgs now always requires the end_value. The 'arg_name' parameter
has been renamed to 'key' and the 'value' parameter to
'start_value'. Default step count is now 2.
New Log specifier introduced for loading Lancet log files

The 'extract_log_specifications' method has also been moved from
StaticArgs to the new Log class with the shorter name 'extract_log'.
Introduced the Indexed specifier for cross-referencing specifiers

An Indexed specifier allows two separate specifiers to be merged
according to some unique index value. Useful for cross-referencing
logs with files, for instance.
Introduced the FilePattern specifier for locating specific files

The FilePattern specifier allows glob-style location of files using a
string pattern. This pattern also specifies the required metadata to
extract from the path string (appropriately typed) using a succinct
and readable syntax.
Introduced the LexSorted specifier for customized lexical sorting

Using LexSorted allows a specifier to be lexically according to an
ordered list of keys, each of which can specify ascending or
descending sort. Also added missing doc strings to Indexed.
Added method to BaseArgs to test if a given key is in a specifier

Added __contains__ method to BaseArgs to membership testing. This
allows you to quickly determine if a key is contained in a specifier
in either the constant or varying keys.
Pretty printing refactor using single approach for all specifiers

Implemented a unified mechanism for generating display strings with
__str__, __repr__ and _repr_pretty_ (IPython pprint). Displays all
positional arguments and only modified parameters that are set via
keywords in a specified, fixed order. Allows for flat (repr)and
indented representation (str, pretty.pprint).
HTML table output and display added to StaticArg specifiers

Intended for IPython, specifiers can be immediately displayed in
tabular form using the 'html' method. For this to work, the HTML
parameter needs to be set to the HTML class imported from
IPython.display. This avoids making IPython a core dependency.
Fix to docstring in StaticArgs