Really fix the marshalling errors with cache codecs (TORQUE-1073)

The :marshal_smart codec now Base64 encodes its marshalled data,
similar to the :marshal_base64 encoding. I can't figure out why the
byte strings produced by Marshal.dump can't round-trip through
Infinispan without becoming corrupted. Playing with encodings didn't
provide any insight and this fails in Ruby 1.8 mode which doesn't use
String encodings anyway.

As a result, the :marshal encoding does not work properly with the
cache and if used a warning will be logged and :marshal_base64 codec
used instead. We don't mention :marshal as a valid cache encoding in
the cache docs anyway no one should be using it.