Proposed fixes for issue 81

So basically this boiled down to creating some new implementations of serialize/deserialize that use ObjectOutputStream as well as support being called w/ optional compression (which might be useful due to SQS message size limits). 

The unit test still works and I added a new test for the transient referenced flagged TestObject with the special methods as described at http://docs.oracle.com/javase/7/docs/api/java/io/ObjectOutputStream.html to verify that if people want to send object messages w/ transient flagged fields AND they have these methods implemented, things will work as they expect.

Hopefully this fix can be put in, or some options to somehow enable the caller to decide which serialization engine to run that the project owner could discuss/implement? What do you think?