add some toBson tests, bit of a refactor

 introduce types M,S,I which are maps of interfaces, slices of interfaces, and interfaces, and hang the toBson methods off these types.  keep the same entrypoint of Bsonify