Added a ValueBuilder implicit for BSONValue

This way, expressions can accept values which have already been
BSONValue encoded.  No check is currently performed to verify the
expression results in a semantically correct constraint.