Libbson integration

This branch replaces the current bson serialization code with calls into libbson

todo: integrate libbson as desired.  There's a static archive target, so it's probably not much work if you want to copy/paste and bake it in