Add macro for generating ObjectInput instances

- avoid allocating and destructuring a tuple
- avoid boxing
Add macro for generating ObjectOutput instances

- Includes support for byte array and AnyRef
some fixes
Fixes to Externalizable + fixes to mult constructors + tests
Merge pull request #157 from scala/topic/picklers

Better support for types implementing Externalizable