SI-7402 List extends Serializable

While we are all aware of the issues around Serialization,
I think in this case it is perfectly sound and safe to make
List serializable:

- List is not an interface, it is the base type of an ADT.
  Common behavior of its members should be reflected in the base type.
- List is sealed, there is no chance of an user providing a new
  non-serializable subtype of List.