Prefer scala.Serializable to j.io.Seriazable

The former extends the latter, and exists as a platorm agnostic
serialization marker trait. It is of less value now that we
have jettisoned the MSIL backend, but while it still exists
we ought ought to use it.

I achieved this by replacing wildcard import of `java.io._`
with selective imports, leaving `Serializable` to bind to
`scala.Serializable`.