Fix rabbit serde and add tests; fixes #794

This test should include a config that at least has a few common things set like "host", "port", "username", "password", to make sure they can round-trip properly. That also means you probably want to pull the config out of the firehose after serialize->deserializing it and make sure it still has the right stuff set.

More uncommon configs could be useful to test too, in case someone wants to use them.