Added more properties to exchange config

* Exchanges can now be made durable or non-durable via the optional
    "durable" property which defaults to False if not present or
    unparseable.
* Exchanges can be declared with other exchange types via the optional
    "type" property which defaults to "direct" if not present or
    unrecognised. Exchange types are case insensitive.