Avoid cloning in op_capture::next
Allow sharing of sequences across several value_seq's

- There are no modifying operations in dwgrep language, so apart from
  forgotten optimizations, this should have no impact.
Implement value_seq::cmp

- This sorts by length, then by element type, then by element value.
  Concievably we could do lexicographic comparison by element type and
  element value, but this is simpler.  Considering type is important
  so that we don't propagate cmp_result::fail results where they are
  not expected, such as valfile::operator<.
Do not use type_info unnecessarily
Describe a more reasonable semantics for []