Added a scala based Document

A core trait and mutable / immutable versions
Added BsonValue implicit converters