make some class Serializable for cluster, add multi-jvm test

use 'sbt multi-jvm:test' to run test