Make ScriptableDocument.findOne() succeed even when there is no matching data.

Currently, findOne method returns a failed future with
NoSuchElementException if there is no matching data. This behavior is
inconsist with find method - find method returns an empty array.

This patch makes findOne method return a successful future whose value
is null.
Fix a bug in ScriptableFuture.onSuccess method.

Currently, onSuccess callback of ScriptableFuture is not called if the
result is null because null is not matched with AnyRef.
Modify findOne example to check if result is null.

result can be null if there is no matching data.