Use Seq for Ledgers. Defaults for ListIndex.

Ledger code can use immutable.Seq instead of List, permitting use of
e.g. immutable.IndexedSeq for efficiency. ListIndex now has a parameter
to determine default behaviour - now defaults to selecting first index
whenever there is no selection and list is not empty (e.g. when list is
empty, then an element is added, it will be selected).