Make Args Serializable (fixes #3).

I made Args implement Serializable to avoid bugs
due to non-Serializable superclasses' fields not
being serialized and taking on defaults instead.

For example, if we have

  class MyArgs extends OtherArgs with Serializable

and OtherArgs wasn't Serializable, then fields
defined in MyArgs would be serialized while fields
defined in OtherArgs would take their default
values from OtherArgs's zero-argument constructor.
Merge pull request #4 from JoshRosen/make-args-serializable

great, thanks!