XD-1583: Add BSON support

https://jira.spring.io/browse/XD-1583
Still not consistent with the class name/behavior