pass message type to DeclareExchange in IPublishExchangeDeclareStrategy

Passes the message type to the IPublishExchangeDeclareStrategy so that
the type could be inspected to provide custom exchange bindings based on
the type of message. Mainly to support subscribe of IAnimal but
publishing Cat/Dog (the reverse of the polymorphic message example).
bumped version number to 0.28.2.0
updated .gitignore list
Revert "updated .gitignore list"

This reverts commit 7b385fc63b4ada288af0ed086312de625f8b6c4f.