Convert between BSONValue and JavaScript value with field information.

Currently, ScriptableCollection doesn't consider field type when saving data.
It causes a type error on reading data even when the data is convertable to the
required type.
Support Date type on DB API.

Currently, there is a bug in saving Date type. This patch fixes the bug and
adds an example of saving Date.
Convert to the requested type when reading a document from database.

Currently, ScirptableDocument reads data only if the saved data type is exactly
the same to the specified type in schema. This patch makes ScriptableDocument
convert the data to a compatible type if possible.