Add support for multiple file uploads

This adds pretty effortless support for multiple file uploads, via a new `mount_uploaders` method (note the plural-s).

All the tests pass when run against fog 1.23.0, but #1480 causes failure against 1.24.0 which is why this is red on Travis.

I've tried to not change any existing behaviour, but this makes one backwards incompatible change. The behaviour of `to_json` has been changed when serializing an uploader which is *not* mounted on a model. This removes the need to override `serializable_hash` on records, which is super, super hacky and shouldn't have been done in the first place IMO. This drastically simplifies the implementation.

This is a huge change which touches a lot of files and refactors and changes a lot of *very* old code. As such I'm a bit apprehensive about it, but as a feature this is totally amazing. Drop it in with multiple file upload and it just works.

@bensie et al, please take a look and let me know what you think.