Fix s3 writes with style procs

Hi @thoughtbot,

S3#flush_writes was accessing the styles option without checking for a
proc. We can just use the instance's styles method to have it done for
us.

(Updated)

@donaldpiret correctly pointed out that the custom s3 options are being set inside a conditional guarded by a type check. This PR refactors the code for the s3 options so that the guards are not `Hash`-specific.