Handle immutable.Seq, add readOption(), consistent upickle exception handling 

* scala.collection.immutable.Seq is now writable
* Public API rounded out with readOption() in addition to read()
* Exceptions thrown by readers defined outside of upickle are now wrapped as a proper utest.Invalid.Data exception.